architecture - SOA 与 NuGet 包

标签 architecture nuget soa nuget-package microservices

我对基于服务的架构感兴趣,该架构大致基于微服务的概念。我们的管理层认为这已经到位,因为我们正在构建 Nuget 包。我觉得有一个不同的地方,但不能完全清楚地表达出来...什么是与重复使用 Nuget 包不同的“微服务”或“SOA”?

最佳答案

声称使用 NuGet 重用代码与“执行”SOA 是一样的,有点像说使用食品加工机与 cooking 三道菜是一样的。食品加工机可能与结果有关,并且在执行过程中有用,甚至偶尔成为先决条件,但这并不意味着可以以这种方式直接进行比较。

反驳这一观点的一种方法是认为 SOA 完全可能无需重用任何代码,因此不需要包管理。如果您想了解 SOA 的含义,请参阅我的另一篇文章 here .

但是,我怀疑这种观点是否可以通过逻辑推理来覆盖。我怀疑你们的管理层真正想说的是“SJDoodle 一直在谈论 SOA?听起来有点贵。”

好消息是您可以实践 SOA,而无需让任何人知道您正在这样做。即使您被迫将应用程序构建为单体应用程序,也没有什么可以阻止您在构建应用程序时考虑到微服务。某些设计模式可能对您有用,包括 Ports and Adapters模式和Command Processor图案。

马丁·福勒有 written之前对此进行过讨论,在某些情况下,以这种方式开始比尝试从一开始就执行基于服务的方法更好。

关于architecture - SOA 与 NuGet 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39071178/

相关文章:

visual-studio - 如何在Visual Studio中使用Bower(从nuget安装)?

c# - 如何从 Visual Studio 2017 中的 .NET Framework 4.5 控制台应用程序引用 .NET 标准库?

wcf - WCF 中的传输安全和消息安全有什么区别

.net - 提单服务 : Exception or Method Result?

websocket - 如何在添加/删除服务器时扩展 websocket 连接负载?

Java编程架构-接口(interface)和实现的类应该在同一个包中吗?

architecture - 客户定制

python - 如何在Python中使用NuGet包?

sql - Oracle SOA 查询需要通配符

java - Spring Integration 文件处理将其发送到 http