这次咱们从根源聊:16招搞定高并发架构设计(11)

拆分数据库,拆分数据库到不同的实例(服务器)纵向,拆分成几个1:1的小表横向,把同一个表的数据拆分到不同的数据库当业务可以拆分的时候其实应对大并发没这么难,最困难的是拆无可拆,就是大并发针对的是同一个表同一行的数据的情况,而且读写的量都很大,而且要求强一致性的情况。

对于这种情况底层数据源很可能只能用关系型数据库甚至自己特殊实现的数据结构实现,无法进行拆分,请参阅下面的纵向扩展,哈哈。

2、负载均衡

对于无状态的服务来说,我们可以通过负载均衡来实现服务的负载分发,需要关注的是几个点:

负载均衡的策略Backend健康检测服务失效后从负载均衡摘除,恢复后的上线发布系统和负载均衡的联动负载均衡特别是7层覆盖,对于请求头做的改动会是怎样的对于超大规模的集群,比如有上万台服务需要负载,那么可能需要10组Nginx来做负载均衡。

这10组Nginx本身也需要进行负载均衡,那么可以在最上层使用硬件F5或Haproxy在4层再做一层负载,也就是类似主备Haproxy->Nginx集群->tomcat集群类似的架构。

推荐阅读