a21*_*21a 8 desktop-application microservices
基于单体架构的桌面应用能否转为微服务架构?我只能找到有关使用微服务架构的 Web 应用程序的文章。这是否意味着桌面应用程序不能使用这种架构?
一般来说,从技术上讲,没有什么可以阻止您将微服务架构用于任何类型的应用程序,但是当您走这条路时(实际上就像任何其他架构一样)检查微服务架构的好处以及它在您的应用程序中是否有意义应用。
在我看来,这是没有意义的,这里有一些想法可以说明我为什么这么认为:
那么为桌面应用程序保留许多进程是一种好方法吗?您的客户是否愿意将您的应用程序用于多个流程?
在服务器端它大放异彩,但它在桌面上有意义吗?我个人对此表示怀疑,但是您应该自己回答
如果您使用套接字 - 您会公开端口以进行通信吗?如果您在具有安全策略(防火墙等)的客户端计算机上安装此桌面应用程序,它会起作用吗?
在消息传递的情况下,您将不得不使用一些消息传递中间件,这几乎从来都不是一个好主意(这些工具在具有适当硬件的服务器上运行良好)。
它完全适用于您的桌面应用程序吗?
因此,再次考虑什么对您的客户、您的应用程序和您来说是最好的 :) 并选择正确的架构。
当然有可能,因为 Windows 有服务,Linux 有守护进程等等,您可以安排不同的服务通过内部网络或某种其他机制相互通信,具体取决于什么是合适的。然而,这样做是否合适/好主意是另一个问题。微服务作为 Web 应用程序的架构通常可能更有意义。微服务通常会产生组件之间松散耦合的成本。应用程序内的严格键入将确保应用程序各部分之间的消息正确形成。对于可能彼此分开编译并通过更间接的机制进行通信的服务来说,很难确保这一点。