我使用WCF 4.0进行工作,并从技术角度对如何构建服务有个很好的想法。现在我已经和WCF一起工作了3年。SOA:图书馆vs服务:图书馆可以是更好的选择吗?
尽管这样我和其他人我谈有什么应该是软件,构成了一个服务单位,什么不应该不同的想法。我所交谈的很多人都认为服务应该细化。事实上,我以前的公司花了很多时间把他们的一些会议变成了服务(所以我被告知)。
在许多情况下,我不能看到如何服务好......,也许它并不总是应该。我给你举个例子:在我们的系统中,我们有一个真正发展到执行两个不同独立工作的大型服务。我将它分成两个服务,原因有两个:性能和故障隔离(我们自己托管在Windows服务中,没有IIS)。事情是,尽管服务两个独立的业务流程(一个服务可能会关闭而不会影响另一个服务),但它们都具有相当一般的业务逻辑。
现在一些提醒我,这个共同的逻辑应该在SOA校长被分隔成3服务,并通过两个新分裂的服务消费。正如我所看到的,这只是部分解除了首先分裂大服务的好处:我们引入了性能瓶颈和单点故障。如果第三个服务的主机进程关闭,则1和2不能再继续工作。我们现在发生在我们拥有许多服务“深层”结构的地方。一个出去,任何依赖服务的链超时,因为他们的电话从来没有回答。
现在,如果公共逻辑只是一个库而不是服务,那么我们就可以获得代码重用的好处,没有性能瓶颈和故障隔离,因为每个服务都在自己的内存中执行自己的程序集副本。也没有序列化开销。
什么是人民对这个想法?在决定什么时候应该成为服务或图书馆时,是否有规则或一般准则?任何其他建议?
感谢 迈克尔
+1优秀的问题 – 2011-05-18 07:16:41