集群&分布式&SOA的区别在哪?

传统的系统架构就是经典的三层结构,就一个项目跑在一个tomcat中。

随着用户数激增,一个服务器一个tomcat肯定撑不住用户的并发访问,估计系统一直崩溃宕机中!

这时候就引入了集群的概念,举个例子,这时候搞了10台服务器,在每台服务器上都用同一套的代码,然后又搞了一个Nginx做负载均衡,这时候我们的请求由这10台服务器完成的,第一次请求是第1台服务器响应,第二次请求是由第2台服务器响应,这样可以应对的并发量就是之前的10倍。

img

img

总结:多台服务器跑的都是一套完整的代码,这就叫集群。

随着公司运营发展,项目的壮大发展,功能也日益完善,加了很多的功能,在把一个项目都让一套tomcat跑,tomcat说它也很累,能不能少跑点代码,这时候分布式系统架构就产生了。

我们把这个大项目按功能划分为很多的模块,比如说单独一个系统用于处理订单,一个处理用户登录,一个处理后台等等,然后每一子系统都单独跑在一个Tomcat中,和起来就是一个完整的项目,这样对每一个tomcat就相对轻松一点。(如果某个子系统的压力还是很多,可以考虑对这个子系统再做集群)

img

总结:多台服务器合起来跑的才是一套完整代码,这就叫分布式。

SOA(Service Oriented Architecture):面向服务的架构。

即把工程拆分成服务层、表现层两个工程。

服务层中包含业务逻辑,只需要对外提供服务即可。

表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

好处:系统之间的调用很方便,A系统要用到B系统,直接调用B系统的服务层就可以了。

img

总结:在分布式这种横向拆分的基础上又做了纵向拆分。就变成SOA架构。

猜你喜欢

转载自www.cnblogs.com/tonysengj/p/12156951.html
今日推荐