SOA和微服务的区别

SOA,ESB,微服务的区别和关系

1、SOA是一种理念,它的主要特性–面向服务的分布式计算,服务间松散耦合,支持服务的封装,服务注册和自动发现,以服务契约方式定义服务交互方式。但是,SOA并没有定义出具体的实现方式,目前有两套SOA理念的实现方式:中心化和去中心化,这两套架构并没有优劣之分,还是要针对企业的根本诉求。

2、SOA中心化的实现方式就是ESB,ESB的根本诉求是为了解决异构系统之间的连通性,通过协议转换、消息解析、消息路由把服务提供者的数据传送到服务消费者。所以,ESB是中心化的,很重,有一定的逻辑,但它的确可以解决一些公用逻辑的问题。

3、SOA去中心化的实现方式的根本诉求是扩展性,实现方式就是微服务

分布式服务框架,主要有dubbo、spring cloud,实现后端服务治理的功能

总结

本文主要讲了架构的演变过程,以及各个架构模式的解析,从SOA出发了解它的概念和实现方式,了解ESB的作用和原理,探讨了SOA和微服务之间的关系。

SOA是一种概念,拿SOA和微服务做对比不太恰当,微服务是SOA去中心化的实现方式,而ESB是SOA中心化的实现方式,要分清两者的区别,不要混淆了!

你可能感兴趣的:(spring,cloud)