# 《Seckill秒杀系统》第116章:容器化集群部署架构设计

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★☆☆☆
  • 本章重点:从整体上理解秒杀系统容器化集群部署的架构设计,掌握容器化集群部署的架构方案,理解大规模分布式容器化的架构设计,并且能够结合自身实际项目思考如何能够将容器化架构设计运用到自身实际项目中。

大家好,我是冰河~~

云原生是项目的一种趋势,从某种程度上来说,容器化是云原生的基础。在秒杀系统的设计中,我们需要实现秒杀系统的容器化集群部署,在正式进行容器化集群部署之前,需要对容器化集群部署进行总体架构设计,为后续具体的部署工作做好准备。

# 一、前言

随着互联网的发展,互联网企业的业务也在不断的飞速发展,进而导致系统的架构也在不断的发生着变化。总体来说,系统的架构大致经历了:单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构的演变。当然,很多互联网企业的系统架构已经向Service Mesh(服务化网格)演变。而Service Mesh(服务化网格)架构设计,在某种程度上讲,基础也是容器化。所以,对秒杀系统进行容器化集群部署架构设计是必然的。

# 二、本章诉求

对秒杀系统的部署进行总体架构设计,从整体上认识秒杀系统基于容器化集群部署的落地实现方案,能够从整体上掌握容器化架构设计在实际项目中的落地实现,并能够结合自身实际项目,将容器化架构设计方案灵活应用到自身实际项目中。

# 三、架构设计

为了让大家更加清晰的从部署角度了解秒杀系统的架构设计,这里,就分别从秒杀系统的容器化架构设计和容器化集群部署两个角度为大家介绍下秒杀系统的架构设计。

# 3.1 容器化架构设计

在《第6章:秒杀系统总体方案目标与架构设计 (opens new window)》中,我们已经对容器化架构设计进行了总体介绍,这里为了更好的与秒杀系统的容器化集群部署架构进行对比和总结,再次为大家介绍下秒杀系统的容器化架构设计。

在秒杀系统微服务架构的基础上,为了进一步增强秒杀系统的性能、可用性和弹性伸缩性,可以对秒杀系统的架构设计进行进一步优化,采用容器化架构设计,如图116-1所示。


由图116-1可以看出,对秒杀系统进行容器化架构设计优化之后,总体上会分成客户端、流量入口、系统网关、应用服务、容器化和基础支撑服务等。

(1)客户端

客户端主要包括PC、H5、APP和小程序,可以将PC和H5等静态资源发布到CDN服务器,来加速静态资源的加载速度。

(2)流量入口

主要由Nginx负责流量的入口,此处同样会放大Nginx的职责,除了常规的反向代理和负载均衡外,Nginx还会提供限流、黑白名单、流量控制、业务校验和商品数据查询等功能。也就是说,在Nginx层会做一些业务逻辑处理。

(3)系统网关

系统网关层除了做路由功能外,还提供限流、熔断、鉴权与安全的功能,可以使用SpringCloud Gateway结合Sentinal实现。

(4)应用服务

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章与完整代码