五年磨一剑:滴滴顺风车服务端之稳定性规范

本文汇总了滴滴顺风车服务端的稳定性规范,内容包括服务分级、部署运维、监控告警、变更管理和预案管理等方面,旨在通过实际线上故障的复盘提炼出稳定性的最佳实践,提升服务的可靠性。
摘要由CSDN通过智能技术生成

桔妹导读:本文给出其中稳定性相关的规范,这些规范都是顺风车成立五年来,对大量真实线上故障复盘、总结得到的,希望对大家服务的稳定性提升有所帮助。

服务端作为顺风车技术部内最大的工程团队,随着人员的扩张和迭代,流程规范在其中扮演着原来越重要的角色。一方面规范化可以提高我们的交付质量、交付效率,另一方面,我们也希望在一次次的实战中不断的总结,探索出适用于我们团队的最佳实践。

基于此,我们制定并推广了一套适用于服务端开发的可执行、最小限制的工程规范,包括研发流程、稳定性、性能成本等多个方面。

本文给出其中稳定性相关的规范,这些规范都是顺风车成立五年来,对大量真实线上故障复盘、总结得到的,希望对大家服务的稳定性提升有所帮助。

1. 名词解释

下文的描述中,会用到很多的技术名词,为更容易的理解,在这里对这些名词做下简要说明:

  • 服务分级: 根据业务需要,一般的我们需要针对最小系统划分为一级服务,一旦出问题需要第一优先级跟进。我们将影响业务核心指标(比如发单量、成单量等)的服务定义为一级服务,其他为二级服务。

  • 预览集群: 和线上生产环境的部署完全一致的一套环境,只是无线上流量,可以内部访问,集群内流量闭环。

  • 小流量集群: 和线上生产环境的部署完全一致的一套环境,通过流量控制,只有个别城市的流量会落到此集群,集群内流量闭环。

  • 灰度发布: 将发布过程分为预览集群、灰度城市集群、10%流量、50%流量、100%流量的发布机制,确保安全上线过程。

  • 全链路压测: 在不影响线上服务的前提下,对生产环境进行压力测试的解决方案。用以摸清生产环境的容量、瓶颈点等。

  • 机房多活: 通过多机房部署,当一个机房出现故障时,可以快速将流量切到其他机房,以减少损失。涉及流量路由、流量闭环、数据同步、数据一致性、灾难应对等诸多环节的整套解决方案。

2. 稳定性规范

稳定性设计

  • 【强制】调用方必须设置超时时间,且调用链路超时从上往下递减,建议超时时间设置如下:

  • 【强制】核心流程新增依赖默认为弱依赖,如需新增强依赖,需要经过评审决议;
  • 【强制】下游服务如提供服务发现,所有服务必须通过服务发现访问该服务,方便服务发现控制下游节点和超时时间;
  • 【强制】所有内部服务必须接入服务发现,外部服务尽量推动接入服务发现;
  • 【建议】建议框架支持依赖服务手动一键熔断;
  • 【建议】服务设计优先考虑无状态设计;
  • 【建议】写接口建议考虑防重入;
  • 【建议】系统设计原则简单可靠,优先使用成熟技术;
  • 【建议】核心服务强制,其他建议,接口建议设置合理的限流配置。

部署和运维

  1. 【强制】严禁在临时脚本中未通过接口或封装方法,直接操作线上数据,如有需要,必须经过QA测试;
  2. 【强制】服务上线必须通过上线平台,并接入质量平台(功能包括自动化case、核心曲线图及其他上线checklist),强制停留观察’
  3. 【强制】一级服务需要包含预览集群、小流量集群(除部分特殊服务)并且双机房部署;
  4. 【建议】非一级线上服务建议包含预览集群;
  5. 【建议】新服务上线建议进行容量规划,建议通过接口压测
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值