2018年10月17日

【转】12306系统架构优化

摘要: coolshell陈皓优化方案原文:http://coolshell.cn/articles/6470.html一、业务复杂度比对(1)qq业务模型:只访问自己的数据(2)秒杀业务模型:秒杀能够只接受前N个请求,后续请求直接返回(3)奥运会售票业务模型:注册+抽奖,非先来先抢,可以事后线下处理(4) 阅读全文

posted @ 2018-10-17 16:17 DeeperMiner 阅读(331) 评论(0) 推荐(0) 编辑

【转】Leader-Follower线程模型

摘要: 上图就是L/F多线程模型的状态变迁图,共6个关键点: (1)线程有3种状态:领导leading,处理processing,追随following (2)假设共N个线程,其中只有1个leading线程(等待任务),x个processing线程(处理),余下有N-1-x个following线程(空闲) 阅读全文

posted @ 2018-10-17 14:09 DeeperMiner 阅读(165) 评论(0) 推荐(0) 编辑

【转】基于环形队列法的延迟消息队列设计2(58沈剑)

摘要: 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。 例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎么实现这类“48小时后自动评价为5星”需求呢? 常见方案:启动一个cron定时任务,每小时跑一次,将完成时间超过48小时的订单取出,置为5星,并把评价 阅读全文

posted @ 2018-10-17 10:38 DeeperMiner 阅读(1220) 评论(0) 推荐(0) 编辑

【转】基于环形队列法的延迟消息队列设计1(58沈剑)

摘要: 一、缘起 很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。 例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(例如登录,消 阅读全文

posted @ 2018-10-17 10:37 DeeperMiner 阅读(783) 评论(0) 推荐(0) 编辑

【转】基于Redis实现延时队列服务

摘要: 背景 在业务发展过程中,会出现一些需要延时处理的场景,比如: a.订单下单之后超过30分钟用户未支付,需要取消订单b.订单一些评论,如果48h用户未对商家评论,系统会自动产生一条默认评论c.点我达订单下单后,超过一定时间订单未派出,需要超时取消订单等。。。 处理这类需求,比较直接简单的方式就是定时任 阅读全文

posted @ 2018-10-17 10:30 DeeperMiner 阅读(371) 评论(0) 推荐(0) 编辑

导航