2016-08-22 56 views
2

我对基于服务的架构感兴趣,松散地基于微服务的概念。我们的管理层认为这已经到位,因为我们正在建立Nuget套餐。我觉得有一个不同的,但不能说清楚...什么是“微服务”或“SOA”给予,这是不同于重用Nuget包?SOA与NuGet包

+1

你必须详细说明你的问题! NuGet是用于打包应用程序和逻辑的技术工具,而微服务和SOA则是架构模式。我没有看到相关性,或者有人甚至会试图将这两者联系起来! – enzian

回答

2

声称使用NuGet重用代码与“做”SOA是一回事有点像说使用食物处理器与烹饪三道菜一样的东西。食物处理器可能与结果有关,并且在执行过程中很有用,甚至偶尔会成为一个先决条件,但这并不意味着它可以通过这种方式直接进行比较。

反对这种观点的一种方法是争辩说SOA是完全可能的,不需要重复使用代码,因此不需要进行包管理。如果您想了解SOA的含义,请参阅我的另一篇文章here

但是,我怀疑这是一个你可以用逻辑推理失败的观点。我怀疑你的管理层真正说的是“SJDoodle继续关注SOA?听起来有点贵。”

好消息是,您可以在不让任何人知道您在做SOA的情况下练习SOA。即使您被迫将应用程序构建为一个庞然大物,您也无法阻止您在考虑微服务的情况下构建它。某些设计模式可能对您有用,包括Ports and Adapters模式和Command Processor模式。

Martin Fowler在此之前有过written,在某些情况下,从一开始就比尝试执行基于服务的方法更好。