logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Go 的三种 Option 设计:从轻量 Functional Options 到 gRPC/OTel 进阶玩法

在 Go 项目中,构造函数很容易随需求增长演变为“参数灾难”:调用可读性差、可选项难用、新增参数破坏兼容、默认值与校验分散。Functional Options Pattern 通过“将配置封装为选项函数/选项对象”替代长参数列表,使新增配置不破坏调用方,并集中管理默认值与扩展点。本文对比三种常见实现:轻量函数型(最顺手)、接口 + 配置载体型(gRPC 经典解耦)、不可变配置型(OpenTele

文章图片
#golang#开发语言#后端
深度解析 Kratos 客户端服务发现与负载均衡:从 Dial 入口到 gRPC 全链路落地(上篇)

本文聚焦 kratos 客户端侧服务发现全流程,拆解其如何将自定义服务发现逻辑适配 Grpc 底层机制:从 clientOptions 配置解析,到 dial 函数整合注册中心与 Grpc 解析器,再到 Consul 侧监听服务实例变更、完成地址转换与更新,完整还原服务发现从配置到落地的核心链路。

文章图片
#服务发现#负载均衡#golang +2
深度解析 Kratos 客户端服务发现与负载均衡:从 Dial 入口到 gRPC 全链路落地(下篇)

本文深度剖析 Kratos 与 gRPC 客户端负载均衡源码。从策略注入起步,拆解 gRPC 无界队列及 SubConn 状态机流转。揭秘如何通过 Picker 机制将自定义算法无缝融入底层 TCP 连接池,带你看透 RPC 请求的选路黑盒。

文章图片
#服务发现#负载均衡#golang
Go errgroup 源码深度剖析:从原理到 Context 取消机制全解析

本文深入剖析 Go 语言 errgroup 包的源码实现,对比原生 sync.WaitGroup 的不足,详解 errgroup 如何实现自动错误收集、goroutine 数量限制和 Context 联动取消。同时深入 context.WithCancelCause 源码,揭示取消原因传递机制,帮助你彻底掌握 Go 并发编程中的协程管理最佳实践。

文章图片
#golang#后端#开发语言
到底了