服务设计
文章平均质量分 89
自东向西
这个作者很懒,什么都没留下…
展开
-
闹钟服务设计
背景购买火车票、淘宝购物....这些场景,在支付的时候,都涉及了订单过期自动取消的场景(30分钟未支付,订单自动取消)。 这就像,创建订单的时候,定了一个30分钟后的闹钟;如果30分钟内支付了,则把闹钟取消;如果超过30分钟未支付,则闹钟触发,取消未支付的订单。 除了支付,在其他一些场景,也会有一次性定时任务的需求,如果一些不太重要的push提醒。 改服务就是一个支持这些定时场景的“闹钟服务”。可选方案延时任务常见的方案:Redis Zset,RabbitMq延迟队列、timeWheel原创 2021-12-29 18:05:43 · 1625 阅读 · 0 评论 -
分片任务组件
背景将一个大任务划分成几个小任务,由几个实例分别运行这些小任务,可以提高任务的执行效率。举例:clock.ip.fdd闹钟服务,需要将闹钟数据从mysql表读取到内存中,多个实例的情况下,是用分布式锁来解决读取数据的冲突。这样是能解决问题,但是读取数据到内存中就变成一个串行的操作,当某一刻积累了大量的闹钟数据,可能会出现加载不及时导致闹钟延迟的情况。如果把存储闹钟的表拆分成8个表,如果2个实例,则每个实例负责读取4个表的数据;如果4个实例,则每个实例负责读取2个表的数据。多个实例之间原创 2021-12-27 15:43:39 · 1253 阅读 · 0 评论