本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】一场完美的“秒杀”:API加速的业务逻辑(3)

时间:2017-03-24 08:35来源:668论坛 作者:www.wzatv.cc 点击:
如图A所示,峰值期间终端用户请求平均响应时间,从3秒左右压缩至40毫秒以内;如图B所示,峰值期间所有请求响应码200的比例从70%左右提升至100%;图C表

  如图A所示,峰值期间终端用户请求平均响应时间,从3秒左右压缩至40毫秒以内;如图B所示,峰值期间所有请求响应码200的比例从70%左右提升至100%;图C表示,峰值期间,后端CPU Idle从10%左右提高至97%左右。实测对比数据表明,API加速对降低平均响应时间、提升用户体验效果十分显著,在降低后端服务器负载方面效果更加明显,使用API加速的后端CPU Idle可保持在91%以上。

  后续建议

  数据库失衡和缓存Redis失衡问题已经解决,但除上述问题,还有很多环节可以改善:

  1. 队列服务异步化请求

  目前客户最终落地数据库请求直接请求到MySQL,未经队列缓冲,建议使用队列服务排队处理峰值请求,其好处在于能在大访问量时对请求进行调度,并可控制实际到达数据库的并发,从而有效保护数据库后端。

  2. API防火墙屏蔽恶意Bot

  用户日志中含有大量明显且规律的扫描软件痕迹,如sqlmap、fimap等,虽然尚未对业务造成较大影响,但却使服务端资源被占用。建议在负载均衡最前端对扫描行为予以屏蔽,以提高安全性,同时提升服务效率。除恶意Bot,抢单、刷单等行为也会对服务产生影响,建议使用API防护服务识别与拦截。

  3. 产品层考虑服务降级设计

  该客户在整体业务上,没有服务降级设计,产品功能优先级未做划分,导致重要的数据库、Cache等众多基础服务混杂。一旦“秒杀”导致数据库穿透等严重问题时,整体服务将不可用。这种情况应重新梳理业务单元,按照优先级切分基础服务,首屏、产品列表、购买、订单等信息优先级最高;其次是非重要功能,如评论、账单等;如果后端负载较大,必要时可直接舍弃次要功能,从而降低后端负载,保证服务稳定。

  总结

  解决类似“整点秒杀活动”的情景,是一个系统复杂的工程,就文中客户暴露出来的数据库负载不均匀、Cache缓存负载不均匀等问题,可通过采用数据库中间层和API加速等技术解决,最终可取得理想效果。

  上述“秒杀”案例,只是API加速的一个典型应用场景,接下来我还会撰文对API加速问题进行更为系统的剖析。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容