一杯咖啡的时间,聊聊技术与成长
分布式事务的微服务落位:Seata 与最终一致
拆掉的不只是代码,还有事务——下单扣库存跨了服务,@Transactional 失效了。第一问永远是能不能不用分布式事务;真要用,AT、TCC、消息最终一致各有各的账单,决策树帮你选。
指标监控与告警:四大黄金指标
两百张图的监控大盘,故障时却找不准该看哪张。延迟、流量、错误、饱和度——四个指标回答"用户有没有受影响"。PromQL 三行起步,告警的三条纪律比指标本身更重要。
统一日志:散落在二十个容器里的报错
排障要 grep 二十个容器,日志格式一人一个写法,机器时钟还不齐。统一日志的三件事:格式让机器可读、TraceId 把散落日志串成一条线、采集链路把成本管住。
链路追踪(下):SkyWalking 实战与采样治理
Agent 挂上去,拓扑图自己长出来,慢接口的每一跳耗时摊开在 Trace 树上。接入只五步,真正的功夫在接入之后:采样率定多少、存储留多久、观测系统自己别变成新的故障源。
链路追踪(上):一次调用穿过八个服务,问题在哪一跳
用户投诉下单慢,八个服务的日志各查各的,时间窗对不上——没有全局视角的排障是盲人摸象。Trace、Span、TraceContext 三个概念搭起链路追踪的骨架,TraceId 跨进程传递是打通一切的关键。
网关实战:动态路由与灰度发布
新上一个服务,网关要重启——路由写死在配置里,发布窗口越来越难约。动态路由让网关配置秒级生效,灰度发布让新版本先接一成流量。这篇把两件事的实现与坑讲透。
API 网关:统一入口的第一道关卡
入口不收敛,横切逻辑就无处安放:鉴权抄十遍、证书换十台、接口改路径老版本全瞎。网关把路由、鉴权、限流、可观测收进统一入口,服务只管业务——但业务逻辑千万别进网关。
超时与重试:微服务调用的组合拳
一次调用穿八层服务,每层超时都设 3 秒——最坏情况链路末端能堆出几十秒,而用户三秒前就放弃了。超时是全链路的预算问题:层层衰减、重试守幂等、退避加抖动,预算用尽就止损。
远程调用:Feign 的优雅与陷阱
接口加注解,代理帮你发请求——调用远程服务像调用本地方法。可读性上去了,底层细节也被藏了起来:默认超时长得离谱、GET 传对象悄悄出错、没有连接池的 RT 毛刺。把链路看穿,坑就对号入座。