SOA(Service-Oriented Architecture,面向服务的架构)是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能。一个服务通常以独立的形式存在于操作系统进程中。服务之间通过网络调用,而非采用进程内调用的方式进行通信。 人们逐渐认识到SOA 可以用来应对臃肿的单块应用程序,从而提高软件的可重用性,比如多个终端用户应用程序可以共享同一个服务。它的目标是在不影响其他任何人的情况下透明地替换一个服务,只要替换之后的服务的外部接口没有太大的变化即可。这种性质能够大大简化软件维护甚至是软件重写的过程。 SOA 本身是一个很好的想法,但尽管做了很多尝试,人们还是无法在如何做好SOA 这件事情上达成共识。在我看来,业界的大部分尝试都没能把它作为一个整体来看待,因此很难给出一个比该领域现有厂家提供的方案更好的替代方案。 实施SOA 时会遇到这些问题:通信协议(例如SOAP)如何选择、第三方中间件如何选择、服务粒度如何确定等,目前也存在一些关于如何划分系统的指导性原则,但其中有很多都是错误的。本书的剩余部分会分别讨论这些问题。一些激进人士可能会认为这些厂家提出并推动SOA 运动的目的不过就是想要卖更多的产品,而这些相似的产品最终破坏了SOA 的目标。 现有的SOA 知识并不能帮助你把很大的应用程序划小。它没有提到多大算大,也没有讨论如何在现实世界中有效地防止服务之间的过度耦合。由于这些点没有说清楚,所以你在实施SOA 时会遇到很多问题。 在现实世界中,由于我们对项目的系统和架构有着更好的理解,所以能够更好地实施SOA,而这事实上就是微服务架构。就像认为XP 或者Scrum 是敏捷软件开发的一种特定方法一样,你也可以认为微服务架构是SOA 的一种特定方法。
微服务设计——1.3 面向服务的架构
书名: 微服务设计
作者: [英] Sam Newman
出版社: 人民邮电出版社
译者: 崔力强 | 张 骏
出版年: 2016-5
页数: 228
定价: 69.00元
装帧: 平装
ISBN: 9787115420268