C++ C++;带桌面应用程序的微服务
我有一个桌面应用程序,它越来越大。我想知道我是否可以用桌面应用程序制作类似微服务的东西?我想现在的应用程序停留在桌面上。它是用C++编写的。 我可以通过一些准备工作排除一些模块。C++ C++;带桌面应用程序的微服务,c++,microservices,desktop,C++,Microservices,Desktop,我有一个桌面应用程序,它越来越大。我想知道我是否可以用桌面应用程序制作类似微服务的东西?我想现在的应用程序停留在桌面上。它是用C++编写的。 我可以通过一些准备工作排除一些模块。 但有可能吗?如果有人知道如何从这开始?桌面应用程序和微服务是相互排斥的,因为桌面意味着一台机器,而微服务意味着多台机器(物理或虚拟)使用技术无关协议通过网络进行通信 你能做的就是使用它。这是微服务的一种替代方案,可以在某些情况下(如您的情况)工作。类似于微服务的桌面架构是可行的。事实上,许多操作系统使用服务,这些服务通
但有可能吗?如果有人知道如何从这开始?桌面应用程序和微服务是相互排斥的,因为桌面意味着一台机器,而微服务意味着多台机器(物理或虚拟)使用技术无关协议通过网络进行通信
你能做的就是使用它。这是微服务的一种替代方案,可以在某些情况下(如您的情况)工作。类似于微服务的桌面架构是可行的。事实上,许多操作系统使用服务,这些服务通常被称为守护进程。例如,X窗口系统使用客户机/服务器体系结构。最近,IDE现在可以使用语言服务器协议与一个或多个提供语法突出显示、代码完成、编译反馈等的语言服务器通信 有几件事需要考虑:
- 目标系统上已有哪些通信协议?在许多系统上,可以使用D总线()
- 您需要什么性能?如果性能非常关键,则需要使用高度优化的协议在服务之间进行通信,并且启动时间需要很短。为了获得良好的性能,类似于语言服务器协议的东西可能已经足够好了,并且更易于编写、维护和调试
- 您能否处理拆分流程所增加的复杂性?在一块巨石中,整个东西要么向上要么向下。使用微服务,正在运行的系统部分可以尝试调用未运行的部分。这种情况必须处理
- 您的应用程序中有哪些接缝?在哪里可以轻松地将其拆分?看看领域驱动设计。确定潜在的独立模块,并重构以确认。如果重构有意义,那么将模块拆分为自己的流程