前面我们演示了一个相对来说“完整”的秒杀抢红包的系统。这里的话我们来总结一下。
一、系统方面
对于这种秒杀抢红包的场景来说,我们需要考虑的最核心的要素是:
1、分布式部署 2、tp99时效保证 3、数据的准确性 4、数据的最终一致性 5、异步解耦操作
所以做一个抢红包的系统一般来说都是单独的一套小系统。这是一个极度高并发的场景。在编写代码的时候一定要多做并发测试,同时在:
1、web接口 2、消费者task
应用层面做好横向扩展的准备。这种web接口一般来说我们建议直接上K8S,提前预留资源,让其实现动态伸缩。满足前端的高并发横向扩展的需求。
二、运维方面
运维方面我们考虑的高并发场景的应付手段主要是:
1、nginx的横向扩展 2、dns的分区解析 3、redis cluster 4、mq的分区 5、强大的mysql集群或者newsql
这些在我们实施抢红包高并发这种场景常见的组件。我们都需要提前做好分测。部署好相关的实施方案。这里我们要额外提一下:
1、实际中redis cluster可能不止一套,所以我们需要针对程序实现动态配置。 2、实际中虽然mq有分区,但是mq其实也可能不止一套(主要是持久化的瓶颈)所以我们需要针对程序实现动态配置。
总结的话暂时说这么多,最后附上秒杀抢红包系统的源码,登录后即可下载。
还没有评论,来说两句吧...