SOA 解决方案设计和服务封装:我应该将服务代码库保存在单独的解决方案中,还是全部保留在一个解决方案中



我正在使用我在Udi Dahan的高级分布式系统设计课程中学到的原则开发一个SOA项目。到目前为止,该项目有6个完全独立的服务,以及一个用于与第三方服务聚合和集成的IT/Ops服务。我还有一组我开发的库,用于所有这些服务,包括基础结构代码、I/O 和实用程序。

将这些服务的代码放在一个解决方案下更好,还是将它们保存在完全独立的解决方案中更好?还是两者兼而有之?使用一个解决方案,集成测试会简单得多,但我关心的是服务封装 - 我的直觉告诉我,我不希望一个服务开发人员知道另一个服务是如何工作的,因为它可能导致无意的耦合。当将所有代码库保存在一个解决方案下时,是否有人在服务封装方面遇到实际问题?

我会将服务保存在单独的解决方案甚至单独的存储库中。

我认为它与服务封装没有任何关系,但更多的是帮助更好地处理代码争用,并使服务之间的依赖关系变得困难。

至于通用代码(如合同),将它们放在单独的存储库中,并使用 nuget(或类似)来引用您的解决方案。

有意义?

最新更新