java集中式架构到分布式架构的演变
前言
随着计算机系统规模变得越来越大,将所有业务单元集中部署在一个或者若干个大型机上的体系结构物,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷。同时,随着微型计算机的出现,越来越多廉价的PC机成为了各大IT企业架构的首选,分布式的处理方式越来越受到业界的青睐。
而java作为WEB开发中的主流语言,尤其作为适合开发大型项目的语言:
所以本篇博文来了解一下java技术选型中从集中式到分布式的演变。
java集中式项目架构
所谓集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理。也就是说,集中式系统中,每个终端或客户端及其仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机来完成。
集中式系统最大的特点就是部署结构简单,由于集中式系统往往基于底层性能卓越的大型主机,因此无需考虑如何对服务进行多个节点的部署,也就不用考虑多个节点之间的分布式协作问题。
现在比较流行的java集中式架构就是采用SSM(springMVC、spring、mybatis)的三层MVC架构。
采用系统功能模块图表示就是这样的:
存在的潜在问题:
1.模块之间耦合度太高,其中一个升级其他都得升级,资源浪费
2.开发困难,各个团队开发最后都要整合一起,重新打包部署
3.系统的扩展性差
4.不能灵活的进行分布式部署(针对某一个功能模块进行升级)
5.不能有效的支持高并发