OpenTelemetry 落地实践:从分布式追踪到全链路可观测性

OpenTelemetry 在微服务架构中的落地实践,从分布式追踪到指标、日志的统一可观测性体系,涵盖 SDK 接入、上下文传播、采样策略、后端存储,以及踩坑经验。

March 10, 2024 · 5 min · 2165 words · 林壮 Allen / IYABAO

用户中心架构演进:从单体到微服务的用户体系拆分实践

用户中心从单体应用拆分为独立微服务的架构演进实践,涵盖服务拆分策略、数据迁移方案、gRPC 接口设计、灰度切换流程,以及拆分过程中的踩坑经验。

February 26, 2024 · 3 min · 1486 words · 林壮 Allen / IYABAO

Kubernetes 异构队列调度实践:PHP 与 Go 混合部署的资源编排

Kubernetes 集群中 PHP 与 Go 服务混合部署的异构队列调度实践,涵盖节点亲和性、污点容忍、资源配额、HPA 自动扩缩容,解决不同语言服务资源需求差异大的问题。

September 22, 2023 · 3 min · 1114 words · 林壮 Allen / IYABAO

Go context 使用规范:从入门到精通

context 是 Go 并发编程的’信号灯’:超时、取消、传值。但用错 context 反而制造泄漏。这篇文章是团队 context 规范,含官方建议和反模式。

August 15, 2023 · 3 min · 1408 words · IYABAO

GORM 钩子与事务:缓存一致性的终极方案

先删缓存再写库还是先写库再删缓存?都有脏读窗口。GORM AfterSave 钩子里联动 Redis 双向清理,删缓存失败直接回滚 DB 事务——从机制上杜绝脏读,而不是靠概率。

July 5, 2023 · 4 min · 1605 words · IYABAO

专场活动系统架构设计:从报名到签到的全链路技术方案

招聘专场活动系统的全链路架构设计,涵盖活动创建、报名审核、电子票、二维码签到、数据统计,以及高并发报名场景下的性能优化方案。

April 18, 2023 · 3 min · 1234 words · 林壮 Allen / IYABAO

Go pprof 实战:一个内存泄漏的定位全过程

服务内存每 6 小时涨 1G,重启就好了——典型的 goroutine 泄漏。用 pprof 火焰图、goroutine 栈、heap profile 一步步定位到根因,完整过程复盘。

April 18, 2023 · 3 min · 1487 words · IYABAO

Go 错误处理:从 if err != nil 到错误设计

Go 的错误处理不是’写 if err != nil’,是’设计错误’:错误分类、包装链、哨兵错误、错误码与日志——一套让错误’可定位、可分类、可恢复’的体系。

March 14, 2023 · 4 min · 1667 words · IYABAO

gRPC 服务间通信标准:我们是怎么定的

微服务拆出来第一件事不是写代码,是定通信标准。proto 目录结构、错误码、trace、鉴权、兼容性规范,这一套标准定了,后面 20 个服务才没乱。

January 10, 2023 · 4 min · 1559 words · IYABAO

Go 并发模式:goroutine + channel 实战

不要用锁解决问题,用通信。Worker Pool、Fan-out/Fan-in、超时控制、优雅退出——Go 并发编程的四个高频模式,每个都附可直接用的代码。

November 16, 2022 · 3 min · 1270 words · IYABAO