带有桌面应用程序的C 微服务

C++ MicroServices with desktop application

本文关键字:服务 应用程序 桌面      更新时间:2023-10-16

我得到了一个桌面应用程序,它越来越大。我想知道我是否可以使用桌面应用程序进行类似的微服务?我现在要应用桌面。应用程序用C 编写。我可以在一些准备工作中排除一些模块。但是是否有可能,如果有人知道如何开始?

可行的桌面类似于微服务的架构。实际上,许多OS使用服务通常称为守护程序。例如,X窗口系统使用客户端/服务器体系结构。最近,IDE现在可以使用语言服务器协议与一个或多个提供语法突出显示,代码完成,编译反馈等的语言服务器进行通信。

有几件事要考虑:

  • 目标系统上已经有哪些通信协议可用?在许多系统上,您可以使用d-bus(https://en.wikipedia.org/wiki/d-bus)
  • 您需要什么性能?如果性能非常重要,则需要使用高度优化的协议在服务之间进行交流,而启动时间将需要很小。为了良好的性能,与语言服务器协议类似的东西可能足够好,并且更容易编写,维护和调试。
  • 您可以处理分裂过程的附加复杂性吗?在整个堆中,整个过程都是上下的。使用微服务,正在运行的系统的一部分可以尝试调用未拨打的零件。必须处理这种情况。
  • 您的应用程序中有什么接缝?在哪里可以轻松将其拆分?看看域驱动的设计。确定潜在的独立模块,并确认重构。如果重构有意义,则将模块分为自己的过程。

桌面应用程序和微服务是相互排斥的,因为桌面意味着一台机器,微服务意味着使用技术不可知协议通过网络通信的多个机器(物理或虚拟)。

您可以做的是使用模块化。这是可以在像您这样的某些情况下工作的微服务的替代方法。