【发布时间】:2011-06-16 20:58:10
【问题描述】:
这是我的问题:我有一个由 Qt GUI 和相当多的后端代码组成的 C++ 应用程序。目前它被链接到一个可执行文件中并在 Solaris 上运行。现在,我想在 Windows 上运行 GUI,而让其余代码在 Solaris 上运行(移植将是一项巨大的工作)。 GUI 和后端之间的接口非常干净,由一个 C++ 抽象类(也使用一些 stl 容器)组成。这是我想变成webservice的部分。
问题是我们的后端代码不是线程安全的,因此我需要在 Solaris 上为 Windows 上的每个 GUI 运行一个单独的进程。但是,出于性能原因,我无法为来自 GUI 的每个请求启动和完成进程。
这种设计意味着我需要处理几个问题:
- GUI 代码必须有一个单一的联系点,
- 必须与在第一次调用期间启动的实例进行通信(它应该被路由,或者第一次调用应该返回实际服务器实例的地址),
- 必须在 GUI 和服务器进程之间发送一些保持活动消息来管理服务器进程的生命周期(服务器进程不能永远运行)。
您能否推荐一个框架来处理这些细节(消息路由/调度和生命周期管理)?
【问题讨论】:
标签: c++ web-services routing dispatcher middleware