构建微服务-第一章-什么是微服务_006关于SOA

来源:互联网 发布:锁扣地板 知乎 编辑:程序博客网 时间:2024/04/30 16:15
SOA的是一种多个服务互相协作来向用户提供功能的一种设计方式。这里的一个服务一般情况下都是一个独立的操作系统进程。服务之间的交流都是通过网络,而不是同一进程内部的调用。SOA的作为挑战单体系统的一种设计方式而兴起。这种方式的目标是软件的复用,两个或者更多的用户应用使用同一个服务。例如,SOA目的是为了更加简单地维护和重写软件,只要服务的语义没有发生变化,理论上讲,我们可以用一个服务替换另一个服务而不需要修改调用这些服务的应用。SOA的出发点是一个很明智的方法。但是缺乏如何更好地实施SOA的一致意见。很多工业组织没有完全看到问题所在,而使用了当前能看到的部分的解决方案。

很多SOA的问题其实是通讯协议的问题、中间件的问题、服务粒度的问题或者拆分系统为服务的切入点问题。有的人甚至认为推动SOA运动不过是为了多卖产品,恰恰是这些产品推倒了SOA。SOA的传统观点并不会帮助人们理解如何切分系统为小的服务,没有提到多大是大,多小是小。也没有更多地提及在现实世界中如何保证服务之间不会有太多的耦合。微服务的方式来自于现实世界中的使用,让我们更好地理解系统和架构。所以我们可以认为微服务是一种特殊的实现SOA的方式,就跟XP或者Scrum是敏捷开发的一种特殊方式。
0 0
原创粉丝点击