带有桌面应用程序的C 微服务
C++ MicroServices with desktop application
我得到了一个桌面应用程序,它越来越大。我想知道我是否可以使用桌面应用程序进行类似的微服务?我现在要应用桌面。应用程序用C 编写。我可以在一些准备工作中排除一些模块。但是是否有可能,如果有人知道如何开始?
可行的桌面类似于微服务的架构。实际上,许多OS使用服务通常称为守护程序。例如,X窗口系统使用客户端/服务器体系结构。最近,IDE现在可以使用语言服务器协议与一个或多个提供语法突出显示,代码完成,编译反馈等的语言服务器进行通信。
有几件事要考虑:
- 目标系统上已经有哪些通信协议可用?在许多系统上,您可以使用d-bus(https://en.wikipedia.org/wiki/d-bus)
- 您需要什么性能?如果性能非常重要,则需要使用高度优化的协议在服务之间进行交流,而启动时间将需要很小。为了良好的性能,与语言服务器协议类似的东西可能足够好,并且更容易编写,维护和调试。
- 您可以处理分裂过程的附加复杂性吗?在整个堆中,整个过程都是上下的。使用微服务,正在运行的系统的一部分可以尝试调用未拨打的零件。必须处理这种情况。
- 您的应用程序中有什么接缝?在哪里可以轻松将其拆分?看看域驱动的设计。确定潜在的独立模块,并确认重构。如果重构有意义,则将模块分为自己的过程。
桌面应用程序和微服务是相互排斥的,因为桌面意味着一台机器,微服务意味着使用技术不可知协议通过网络通信的多个机器(物理或虚拟)。
您可以做的是使用模块化。这是可以在像您这样的某些情况下工作的微服务的替代方法。
相关文章:
- C# DLL 从C++应用程序调用 SOAP Web 服务
- 从运行服务的应用程序代码中提取窗口句柄
- c++中的交叉编译(作为跨平台应用程序的一部分或作为服务)
- 如何读取windows服务启动的控制台应用程序的输出
- Qt视频流应用程序:找不到qt.mediaplayer的服务
- 将 Visual C++ 6 控制台应用程序作为 Windows 服务运行
- 如何从 Windows 上的服务在未登录用户的桌面上启动应用程序
- 将C 应用程序连接到WCF双工服务
- 通过编译应用程序创建Windows服务
- 是否有支持C++和C#混合应用程序的崩溃报告服务
- 如何将现有的分布式服务应用程序端口到DCO
- 从服务应用程序访问访客帐户系统注册表
- 停止C++服务应用程序
- 如何在 Windows 服务应用程序中启动系统时运行代码
- WCF服务应用程序-使用c++对象调用导致Visual Basic 6.0 DLL文件挂起
- 不能在Windows服务应用程序中包含某些boost头
- 在c++中使用StartService启动一个服务应用程序
- 使用c++windows服务应用程序中的web服务
- 是否可以在c++服务应用程序中使用web服务
- 构建一个卷影服务应用程序发布