业务中使用分布式的场景

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

相关文章
相关标签/搜索