单体架构的优缺点

一,单体架构概念:
将所有的业务场景的表示层,业务逻辑层和数据访问层打包放在一个工程中,最终经过编译打包,部署在一台服务器上。例如:典型的J2EE工程,把jsp,业务逻辑层的service,controller和数据访问层的dao,打包成wa包,部署在Tomcat或者Jetty或者其他容器上运行。
二.缺点:
1.业务越来越复杂,单体架构扩展性不足,业务扩展带来的代价越来越大;
2.用户越来越多,程序承受的并发越爱越高,单体应用的并发能力有限;
3.单体应用的业务都在同一个程序中,增删改业务修改,也会影响其他代码,给测试增加了难度
三.优点:
部署简单 :由于是完整的结构体,可以直接部署在一份服务器上即可
技术单一 :项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发
用人成本低 :单个程序员可以完成业务接口道数据库的整个流程
四.服务器集群:
服务器集群:就是服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
随着业务的扩展,大部分公司会将单体应用进行集群式部署,并增加负载均衡器,还需要增加集群部署的缓存服务器和文件服务器,并将数据库读写分离,以应对用户量的增加带来的高并发访问量。
负载均衡器分发高并发的网络请求,用户的访问被分派到不同的应用服务器。用户增加时,添加应用服务器即可。
五.缓存服务器:缓解数据库的数据以及数据库读取的压力。
负载均衡器----》应用服务器----》缓存服务器,文件服务器,数据库读写分离
六.单体架构使用服务器集群及存在的不足:
1.代码可读性,可维护性差;
2.面对海量用户,数据库会成为瓶颈,需要使用分库分表;
3.持续交付能力差,业务越复杂,代码越多信任熟悉成本高。

你可能感兴趣的:(设计模式)