业务中使用分布式的场景

时间:2021-12-15 23:27:19

首先,需要了解系统为什么使用分布式。
随着互联网的发展,传统单工程项目的很多性能瓶颈越发凸显,性能瓶颈可以有几个方面。
一、应用服务层:随着用户量的增加,并发量增加,单项目难以承受如此大的并发请求导致的性能瓶颈。
二、底层数据库层:随着业务的发展,数据库压力越来越大,导致的性能瓶颈。
针对上面两点,我觉得可以从两方面解决。
应用服务层:
应用服务层的解决方案有几种:
应用系统集群:
应用系统集群最简单的就是服务器集群,比如:tomcat集群。应用系统集群的时候,比较凸显的问题是session共享,session共享我们一是可以通过服务器插件来解决。另外一种也可以通过redis等中间件实现。
服务化拆分:
服务化拆分,是目前非常火热的一种方式。现在都在提微服务话。通过对传统项目进行服务化拆分,达到服务独立解耦,单服务又可以横向扩容。服务化拆分遇到的经典问题就是分布式事务问题。目前,比较常用的分布式事务解决方案有几种:消息最终一致性、TCC补偿型事务、尽最大能里通知。具体的你可以参考下这篇博客分布式事务解决方案
底层数据库层:
如果系统的性能压力出现在数据库,那我们就可以读写分离、分库分表等方案进行解决,由于这方面我的经验也不够多,所以,你可以参考下其他的一些文献。
Mycat 数据库分库分表中间件 
MySQL高可用读写分离集群