带有桌面应用程序的C ++ MicroServices

时间:2017-09-27 15:16:38

标签: c++ microservices desktop

我有一个桌面应用程序,它变得越来越大。我想知道我是否可以使用桌面应用程序制作微服务?我想申请现在停留桌面。应用它是用C ++编写的。 我可以通过一些准备工作排除一些模块。 但这是否有可能,如果有人知道如何从这开始呢?

2 个答案:

答案 0 :(得分:1)

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

有几件事要考虑:

  • 目标系统上已经可以使用哪些通信协议?在许多系统上,您可以使用D-Bus(https://en.wikipedia.org/wiki/D-Bus
  • 您需要什么性能?如果性能至关重要,则您将需要使用高度优化的协议在服务之间进行通信,并且启动时间将需要很小。为了获得良好的性能,类似于语言服务器协议的内容可能已经足够好,并且将更易于编写,维护和调试。
  • 您能应对拆分过程带来的额外复杂性吗?在整体中,整个事物要么向上要么向下。使用微服务,系统中正在运行的部分可以尝试调用未运行的部分。这种情况必须得到解决。
  • 您的应用程序中有哪些接缝?在哪里可以轻松拆分?看一看域驱动设计。确定潜在的独立模块,并进行重构以确认。如果重构有意义,则将模块拆分为自己的进程。

答案 1 :(得分:0)

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

您可以使用modularization。这是微服务的替代品,可以在像您这样的场景中使用。