系统架构的演变

传统架构

这里写图片描述

这时候访问量比较少,将整个工程打一个war包,部署到一个Tomcat上面就够了

负载均衡

这里写图片描述

随着访问量的变大,一个Tomcat服务器已经不能满足需求。需要配置多个Tomcat,做Tomcat集群。让用户都访问负载均衡服务器,然后让它具体分配去访问那个Tomcat服务器。在每个Tomcat中都有一个工程完整的war包。 
集群:同一个工程部署到多台服务器上。 
负载均衡:比如用nginx做负载均衡,负载就是让客户都来访问自己,一台nginx服务器可以承担5万的并发量(一台tomcat只有500的并发量),均衡就是再把这些访问量分发到各个tomcat服务器上。

当Tomcat集群中节点数量增加,服务能力先增加后下降。所有集群中节点数量不能太多,一般也就5个。

当我登陆的时候访问的是第一个Tomcat服务器,其session也存到了第一台服务器中。之后的操作访问的是第二台服务器,但这台服务器上没有存session。这就需要用到session共享,比如我有20台服务器,我在第一台服务器登陆后,要把其session共享到其他服务器,内网的带宽就那么点儿,服务器多了,就会变慢。

分布式

这里写图片描述

可以按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑。叫做分布式。 
每台服务器上放的是一个功能模块,而不是整个系统。

怎么解决session共享导致的性能降低,比如就可以把登陆的功能提取出来,放到一台服务器上,这样就不用session共享了。

还有就是不是所有的模块访问量都很大,比如前台访问量比较大,我就可以给前台加缓存,后台访问量不大,就不用加缓存了。

而每个功能模块又可以用负载均衡。

分布式架构:多个子系统相互协作才能完成业务流程。系统之间需要进行通信。 
集群:同一个工程部署到多台服务器上。 
分布式架构: 
把系统按照模块拆分成多个子系统。 
优点: 
1、把模块拆分,使用接口通信,降低模块之间的耦合度。 
2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。 
3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。 
4、可以灵活的进行分布式部署。

缺点: 
1、系统之间交互需要使用远程通信,接口开发增加工作量。 
2、各个模块有一些通用的业务逻辑无法共用。

SOA

这里写图片描述

SOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成表现层和服务层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

宜立方商城

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

猜你喜欢

转载自blog.csdn.net/qq_34802511/article/details/81280111