■月均活跃用户达1.3亿,B站高可用架构实践( 四 )
第三 , 在重试策略上 , 在微服务内尽可能做退避 , 尽可能要考虑到重试放大的流量倍数对下游的冲击 。
另外还要考虑在移动端用户用不了某个功能的情况下 , 通常会频繁刷新页面 , 这样产生的流量冲击 , 我们在移动端也要进行配合来做流控 。
第四 , 超时控制强调两个点 , 进程内的超时和跨进程的传递 。 最终它的超时链路是由最上层的一个节点决定的 , 只要这一点做到了 , 我觉得大概率是不太可能出现连锁故障的 。
第五 , 变更管理 。 我们通常情况下发布都是因为一些变更导致的 , 所以说我们在变更管理上还是要加强 , 变更流程中出现的破坏性行为应该要进行惩罚 , 尽管是对事不对人 , 但是还是要进行惩罚以引起重视 。
第六 , 极限压测和故障演练 。 在做压测的时候 , 可能压到报错就停了 。 我建议最好是在报错的情况下 , 仍然要继续加压 , 看你的服务到底是一个什么表现?它能不能在过载的情况下提供服务?
在上了过载保护算法以后 , 继续加压 , 积极拒绝 , 然后结合熔断的话 , 可以产生一个立体的保护效果 。
经常做故障演练可以产生一个品控手册 , 每个人都可以学习 , 经常演练不容易慌乱 , 当在生产环境中真的出现问题时也可以快速投入解决 。
第七 , 考虑扩容、重启、消除有害流量 。
本文插图
如上图所示的参考 , 就是对以上几个策略的经典补充 , 也是解决各种服务问题的玄学 。
作者:毛剑
简介:bilibili 技术总监 , 腾讯云最具价值专家(TVP) 。 负责 bilibili 数据平台部 , 拥有近十年的服务端研发经验 。 擅长高性能、高可用的服务端研发 , 熟悉 Go、Java、C 等语言 。 在 B 站参与了 , 从巨石架构到微服务的完整转型 , 包含微服务治理、微服务可用性设计 , 微服务数据一致性设计 , 微服务中间件 , 微服务监控 , 微服务日志收集 , 微服务负载均衡 , 和微服务 RPC 框架开发等 。 开源业内比较有影响力的项目:https://github.com/Terry-Mao/goim , 分布式 IM 长连接广播服务;https://github.com/Terry-Mao/bfs , 分布式小文件存储 。
编辑:陶家龙
出处:转载自微信公众号云加社区(ID:QcloudCommunity),本文是 B 站技术总监毛剑老师在「云加社区沙龙 online」的分享整理 。
推荐阅读
- IT之家7/8.1用户仍可以免费升级至Win 10,外媒亲测可行:Win
- 「微信」facebook全球用户数达30亿,微信还有机会达到此高度吗?
- 『Apple Watch』WatchOS 7新特性!Apple Watch或通过传感器检测用户心理健康
- zol中关村在线iPhone一个让安卓用户落泪的小功能——快捷指令
- 极客宇文氏手机的寿命到底是多久,你多长时间换一次手机?手机本身哪些部位决定了寿命用户使用习惯注定寿命
- 秋蝉:播出6天,《秋蝉》豆瓣评分终出炉,给一星用户近10%
- 铭科技买笔记本避免被坑,小白用户必看笔记本五花八门的配置怎么看?
- 丰巢丰巢智能柜公众号发布致用户的一封信:解释关于12小时保管期限
- 「中国电信」中国电信给用户发福利:49元+140G流量+100分钟,网友:想携号转网
- 无线视界中国移动终于改变,开始为老用户推出优惠套餐,被公开点名
