SpringCloud微服务架构和SOA架构

1,传统的三层架构

在传统的架构中,SSH,SSM,主要分为web 控制层,业务逻辑层,数据库访问层,单点项目,项目没有拆分,所有的开发任务全部写在一个项目中,耦合度比价高,如果程序中的一个功能出现了问题,所导致的就是整个服务挂掉。

2,SOA 架构

因为传统项目的耦合度比较高,所以架构的发展逐步面向服务化,将共同的业务逻辑抽取出来,形成一个服务,可以供其他服务所调用,服务和服务之间的调用通过RPC远程调用(底层就是httpclient技术)

SOA 架构中通常使用xml 实现通讯,xml 比较重,占宽带,相对冗余,在高并发情况下,很受影响。底层是使用webservice 技术,ESB 消息总站

3,微服务架构

Springcloud 就是微服务架构,是由SOA 架构发展而来,没有ESB 总站的传输方式,采用http + json 轻量级的传输方式

微服务的架构更加的轻量级

微服务架构中,服务的独立性更加的强,可以有独立数据库,独立的缓存、数据库、消息队列等资源,保障服务与服务之间更加的不受影响

微服务架构中,服务化的粒度更加的精细,所以,更加适合敏佳开发

4,springcloud微服务架构

SpringCloud 提供了一套完整的微服务解决方案,不像其他框架只是解决了微服务中某个问题。

主要可以分为:

     服务治理(注册中心):Dubbo (阿里巴巴),Dubbox(当当网在Dubbo继续开发的),Eureka(已经闭源了),consul

     分布式配置中心:disconf(百度)、Netfix的Archaius、360的QConf、SpringCloud、携程的阿波罗等。

     分布式任务调度平台:xxl-job 

     服务跟踪:hyra(京东),springcloud的sleuth等

 

posted @ 2019-08-19 16:19  Chris,Cai  阅读(2314)  评论(0编辑  收藏  举报