Grab熔断器设计:如何应对突发打车峰值( 二 )
下一步就是配置了 。 具体来说 , 就是设置在熔断器开启之前 , 在特定的位置和时间桶中 , 可以存在多少个未分配的预订量 。 我们再次使用 Redis 。 同样 , 使用 Redis 是因为对它相当熟悉 。
最后要说明的是 , 我们在预订处理开始前就执行了检查 , 强调一下 , 在调用任何其他服务之前 , 我们就执行了检查代码 。 这个代码会将地点、时间和所请求的服务与当前配置的 Spampede 设置 , 以及之前未分配的预订量进行比较 。 如果已经达到了最大值 , 那么我们立即停止处理 。
这听起来可能有点刺耳 — 还没有尝试调用就立即拒绝?但 Spampede 过滤器的设计目的就是为了防止过度的、局部的需求影响到系统的所有用户 。
总结
作为一个程序员 , 读到这里 , 可能会觉得很奇怪 , 有意把预订量降下来 , 这样会影响业务的发展 。
说到底 , 我们想要做的只是帮助人们到达他们想要去的地方 。 这个过程是一个系统安全机制:确保系统健康并能够达成送达乘客这一目标 。
如果我不强调一下这是关键软件工程的启示 , 是观察者效应和 CAP 定理的基本目标的结合 , 那我就失职了 。 观察者效应是指为了观察一个系统带来的指令及监控等成本 , 会对系统本身的运行产生影响 。
一般来说 , 监测和限制的精度或一致性越高 , 消耗资源成本就越高 。
在这种情况下 , 我们有意选择了最节省资源的方案 , 用较低的精度来换取更多的吞吐量 。
英文原文:
https://engineering.grab.com/preventing-app-performance-degradation-due-to-sudden-ride-demand-spikes
本文由高可用架构翻译 , 技术原创及架构实践文章 , 欢迎通过公众号菜单「联系我们」进行投稿 。
高可用架构
【Grab熔断器设计:如何应对突发打车峰值】 改变互联网的构建方式
推荐阅读
- 惠普|惠普战99 AMD版设计本上架:6299元起 买它!
- 驱动中国无缘屏下摄像头!华为Mate 40系列爆料:双曲面设计
- 车友料|为何不设计为左脚踩刹车,右脚踩油门?,自动挡没有离合器踏板
- 游戏圈那点事|炉石传说:盘点最强五色龙 最后一名得罪了设计师?大表哥也不行
- 控股|[公司]郑中设计拟定增募资不超3.4亿元 控股股东参与认购
- 孤傲凛然|小姐姐选择的连衣裙还是很出众,精致的设计感也成为了穿搭的亮点
- 孤傲凛然|小姐姐的斑马纹连衣裙搭配防晒外套,束腰设计更加突显了好身材
- 股东|[公司]郑中设计拟定增募资不超3.4亿元 控股股东参与认购
- 梁开心|并蒂莲花珠江畔盛开 广州恒大新球场设计方案惊艳亮相
- 发布价5399元的它,Pro采用的是3D八曲面设计,网友,但到了6月份再入手就并不划算了
