工程化保障可用性:可观测性、测试与打造稳定可靠的后端服务之路
背景
一次简单的移动端点击操作,会在后台触发一系列事件——调用微服务API、通过队列发送消息/事件、写入数据库,以及在瞬时故障时进行重试——所有这些都发生在返回成功……或者错误提示之前。用户看不到这种复杂性。他们不知道你的自动伸缩策略、缓存命中率或依赖关系图。他们只知道他们的乘车是否已叫到、付款是否已成功,或者食物订单是否已确认。
当出现问题时,正是这种隐藏的复杂性决定了你的系统能够以多大的优雅程度恢复。这就是为什么可靠性不能再仅仅是SRE团队的责任。它是一项共同的责任——应该融入到每个后端工程师日常的决策中。从我们设计系统的方式到我们编写告警、发布代码以及处理事故的方式,可靠性是通过工程实现的——而不是凭空产生的。