序列化反序列化速度很快3.1 安装第一步:下载通用编译器 地址:https://github.com/protocolbuffers/protobuf/releases 根据不同的操作系统,下载不同的包,64位windows电脑,就下载protoc-3.20.1-win64.zip。第二步:配置环境变量 将解压出来bin下的protoc.exe放到D:\Golang\GOPATH\bin下即可。第
由于保留必要的“罪证”,因此某些异常只能通过文字来描述了~
背景昨晚上10点左右,前端童鞋反映开发环境接口响应超时,但过了几分钟后又恢复了,于是有了这一篇文章。
其实很久以前就出现了内存占用异常的情况~,只是占用并不高也就是50MB左右,加上当时还忙着写业务需求就没有急着加上pprof来检查。
首先通过运维平台(k8s based)直观发现了该pod数量从1变成
转载
2024-10-10 08:19:02
256阅读
字节输入流(InputStream):SequenceInputStream: SequenceInputStream可以把两个输入流合并成一个输入流。主要用作合并输入流。 内部有一个Enumerat
# 使用Go连接Redis数据库并设置密码
## 整体流程
首先我们需要安装好Go语言开发环境,并且确保已经安装了Redis数据库。接下来的步骤可以按照以下流程进行:
1. 连接到Redis数据库
2. 设置Redis数据库密码
3. 验证密码是否设置成功
下面我们将详细介绍每一步需要做什么,以及需要使用的代码和代码注释。
## 1. 连接到Redis数据库
在Go语言中,我们可以使用
原创
2023-11-15 04:01:25
130阅读
并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goroutine是由Go语言的运行时(runtime)调度完成,而线程是由操作系统调度完成。Go语言还
转载
2024-09-25 20:46:43
47阅读
项目中需要用到grpc作为通信框架,但是在我们项目组中没有一个人对这个grpc有深入的理解。只知道用了GRPC后,调用远程函数就像调用本地函数一样方便,能够像处理同步编程一样处理异步编程。至于,他是怎么实现的,以及网络数据格式是怎样的,他是怎样处理数据流的,需要像TCP一样处理粘包吗,等等一系问题,我们都一无所知。如果就这样使用了这套框架,可能会给项目带来潜在的风险,甚至由于这些风险可能会导致项目
转载
2024-03-07 11:44:35
77阅读
在使用 Redis 时,管道技术可以显著提高应用程序的性能,但如果不主动关闭管道,就可能导致一些潜在的问题,比如内存泄漏或 Redis 实例的过载。本文将详细讨论解决“Redis管道技术不主动关闭管道”这个问题的过程。
## 环境准备
在开始之前,我们需要确保所有的依赖都已正确安装。以下是所需环境及其版本的兼容性矩阵:
| 组件 | 版本 | 备注
gtcp模块提供了连接池的特性,由gtcp.PoolConn对象实现,连接池缓存固定存活时间为600秒,且内部实现了数据发送时的断开重连机制。连接池非常适合于频繁的短链接操作且连接并发量大的场景。我们接下来使用两个示例来演示一下连接池的作用。使用方式:import "github.com/gogf/gf/net/gtcp"接口文档:type PoolConn
func NewPoolConn(ad
转载
2024-04-20 13:48:26
104阅读
文章目录工作流程工作模式http模式服务器模式 本篇文章旨在通过学习rpc包和github上的一个rpc小项目,熟悉和学习golang中各个包的使用 工作流程通过阅读官方文档,了解了rpc的基本工作模式第一步,建立一个用于远程调用的包,存放仅供远程调用使用的方法和类型-第二步,实例化包的对象,并在rpc中注册该包,以便之后的调用第三步,建立一个服务端,接收客户端的请求,使用编码器解析请求后,根
转载
2024-06-24 05:57:27
14阅读
本文主要介绍了 gPRC中 的拦截器(Interceptor)和具体使用实例。1. 概述gRPC 系列相关代码见 GithubgRPC 提供了 Interceptor 功能,包括客户端拦截器和服务端拦截器。可以在接收到请求或者发起请求之前优先对请求中的数据做一些处理后再转交给指定的服务处理并响应,很适合在这里处理验证、日志等流程。gRPC-go 在 v1.28.0版本增加了多 intercepto
转载
2024-04-30 20:56:28
43阅读
QA:grpc的服务端多线程处理实现方式?或者grpc对底层的每个请求处理本身就是多线程?--------------------------------
原创
2023-05-03 03:19:44
91阅读
目录
go grpc入门1.1 GRPC技术栈2.1 Hello gRPC2.1.1 protobuf grpc插件2.1.2 生成代码2.1.3 gRPC服务端2.1.4 gRPC客户端3.1 gRPC流3.1.1 生成Streaming RPC3.1.2 服务端3.1.3 客户端4.1 gRPC认证4.1.1 Request Response认证4.1.1.1 原理4.1
转载
2024-04-20 22:21:31
155阅读
一、gRPC是什么?gRPC,其实就是RPC框架的一种,前面带了一个g,代表是RPC中的大哥,龙头老大的意思,另外g也有global的意思,意思是全球化比较fashion,是一个高性能、开源和通用的 RPC 框架,面向服务端和移动端,基于 HTTP/2 设计。RPC框架是什么?RPC 框架说白了就是让你可以像调用本地方法一样调用远程服务提供的方法,而不需要关心底层的通信细节。简单地说就让远程服务调
转载
2024-06-21 16:37:37
262阅读
go语言grpc之client端源码分析一实现grpc.DialClientConn结构体parsedTargetcsMgrblockingpickerbalancerWrapperconns 前面分析了grpc在服务端的源码,这里来分析一下grpc在客户端的源码。相比在服务端的实现,客户端的实现因为多了一些负载均衡的处理,因此逻辑上面会绕一些,接下来在说完之后,然后结合go-zero的使用加
转载
2024-02-12 14:42:55
62阅读
用Go语言实现推送服务器用Go语言实现推送服务器陈叶皓 chen.yh@议程• 推送服务器介绍• Golang特点• 推送服务架构• 部分代码• 上线效果议程• 推送服务器介绍• 推送服务架构• 部分代码• 上线效果什么是推送服务器• 推送业务信息到手机端• 始终保持连接推送服务器要求• 高并发• 可靠性• 高性能• 支持水平扩展• 无单点故障Go语言特性• 静态的、编译的• 自动内存回收• 命令
转载
2024-04-30 19:22:24
71阅读
IOS 基于APNS消息推送原理与实现(JAVA后台)
Push的原理:Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。APNS 是Apple Push Notification Service(Ap
# 如何实现 MySQL 主动关闭
MySQL 数据库是一个常用的关系型数据库管理系统,在某些情况下,我们可能需要主动关闭 MySQL 服务,比如在进行系统维护、更新或者修改数据库配置时。对于刚入行的小白开发者而言,了解如何实现 MySQL 主动关闭是非常重要的一项技能。在这篇文章中,我将提供一个详细的步骤指南,以帮助你完成这项任务。
## 流程概述
以下是实现 MySQL 主动关闭的一般步
原创
2024-09-22 06:19:34
35阅读
go mod gRpc我使用的是goland编辑器,以此为基础,进行项目的创建以及实现创建项目,我使用的是 go mod 进行项目的管理开始创建项目我们虽然是使用go mod 进行项目管理,但是我们在创建项目的时候,一定不要使用go mod 来创建项目,因为后期可能会留下坑继续: 我们进行go mod init GRPC 进行 mod 初始化 (这个是,我之前做过初始化的结果) 初始化完成后,我们
转载
2024-05-03 12:45:49
45阅读
grpc框架参考资料:官方文档教学GRPC是Google公司基于Protobuf开发的跨语言的、高性能的、通用的开源RPC框架。GRPC基于HTTP/2协议设计,可以基于一个HTTP/2链接提供多个服务,对于移动设备更加友好。在 gRPC里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC系统类似, gRPC也是基于以
转载
2024-05-08 19:33:55
122阅读
有时大家很不理解的现象,明明 call RPC 时设置了超时时间 timeout, 但是 Grafna 看到 P99 latency 很高,why ???不要犹豫,要么是 timeout 设置不合理,比如只设置了单次 socket timeout, 并没有设置 circuit breaker 外层超时。参考 你真的了解 timeout 嘛[1]还有一种情况就是 GC 在捣乱,我们知道 Go GC
转载
2024-04-27 07:07:43
25阅读