随笔分类 -  grpc

摘要:目录什么是 Arena?为什么需要 Arena?单线程时代的问题多线程时代的挑战glibc malloc 的 Arena 实现1. Arena 数据结构2. Arena 分配策略3. Arena 数量限制jemalloc 的 Arena 改进1. 更细粒度的 Arena 管理2. Arena 分配算 阅读全文
posted @ 2025-10-19 10:06 guanyubo 阅读(132) 评论(0) 推荐(0)
摘要:目录问题描述问题根源:glibc malloc的内存管理缺陷1. 内存碎片化2. arena竞争3. gRPC特有的内存模式jemalloc的优势1. 更好的碎片管理2. 主动的内存归还3. 线程局部缓存优化解决方案对比glibc malloc的问题表现jemalloc的改进最佳实践配置1. jem 阅读全文
posted @ 2025-10-19 09:44 guanyubo 阅读(43) 评论(0) 推荐(0)
摘要:目录1. 安装 Jemalloc2. 编译时链接 Jemalloc方法一:修改 CMakeLists.txt方法二:直接使用编译器参数3. 运行时配置 Jemalloc通过环境变量配置推荐的 gRPC 服务 Jemalloc 配置4. 在代码中集成 Jemalloc 监控5. Docker 容器中的 阅读全文
posted @ 2025-10-19 09:41 guanyubo 阅读(46) 评论(0) 推荐(0)
摘要:目录核心重连机制关键配置参数工作流程高级控制注意事项 gRPC Go 客户端(stub)底层实现了自动断线重连机制,这是通过几个关键组件协同工作实现的。以下是详细的机制说明: 核心重连机制 连接状态管理: gRPC客户端会持续监控连接状态 当检测到连接断开时,会自动尝试重新建立连接 指数退避重试: 阅读全文
posted @ 2025-06-24 09:14 guanyubo 阅读(233) 评论(0) 推荐(0)
摘要:目录gRPC允许定义四类服务方法流是会结束的stream(流式传输)编写流程客户端使用 ClientReader客户端使用 ClientWriter客户端使用 ClientReaderWriter服务器端 gRPC允许定义四类服务方法 一元RPC:客户端发送一次请求,等待服务端响应结构,会话结束,就 阅读全文
posted @ 2024-11-29 17:09 guanyubo 阅读(920) 评论(0) 推荐(0)
摘要:目录标量数据类型repeated 关键字required 关键字optional 关键字oneof 关键字google.protobuf.Empty Protocol Buffers(protobuf): Google 开发的一种数据序列化协议(与 XML、JSON 类似) https://blog 阅读全文
posted @ 2024-11-29 17:05 guanyubo 阅读(339) 评论(0) 推荐(0)