经常会有同学问,微服务和SOA架构有什么区别。这个区别一定要从架构的发展过程来了解。这两种架构模式,其实本质上应该是在分布式架构这条时间线上,基于服务化思想的不断完善,以及基础设施的逐步成熟之下的一种升级。既然存在于时间线的先后,那也就意味着,这两种架构模式所关注的点不一样
1. SOA 关注的是服务的重用性、以及解决企业内部的信息孤岛问题
2. 微服务关注的是解耦,解耦和可重用性在特定的角度来看是一样,但本质上是不同的。解耦是降低业务之间的耦合度(也就是微服务关注的服务粒度),而可重用性关注的是服务的复用
3. 微服务会使用更轻量级的通信协议,使用Restful风格的API。轻量级协议可以很好的支持跨语言,是的语言生态更加丰富
4. 微服务会更多的关注Devops的持续交付,因为服务粒度更细使得开发运维变得更加重要。所以微服务对于容器化技术的结合更加紧密
5. SOA应该是微服务的超集