将传统 Windows 服务迁移到 Service Fabric

Migration of Traditional Windows Service to Service Fabric

我正在为 Windows 服务器的 Service Fabric 预览版做准备: Create and manage a cluster running on Windows Server

我们正在努力解决人们认为 Windows 服务太多而无法手动管理的问题,并考虑可以使服务更自动管理的基础架构。我们目前 运行 在本地,所以我们正在寻找 Windows 服务器的 Service Fabric,而不是 Azure 上的 Service Fabric。

我有一个在 Embarcadero C++ Builder XE7 中编译的本机 Windows 服务(Windows NT 服务),当前 /install 和 /uninstall 本身进入 Windows 服务控制管理器。该服务使用 WebBroker 绑定到端口以接收 HTTP 请求。当前正在从 Oracle 数据库中检索数据。它的范围很小,但在我看来还不够先进,无法调用微服务。

这些特定服务不 运行 控制台。他们 运行 通过 WinMain() 方法而不是 main()。我们确实利用一个命令行参数来弹出一个运行服务进程的表单,以便在开发中调试,但是如果在控制台上运行,这不会阻塞。

将此应用程序启动并 运行作为来宾可执行文件会涉及什么?项目是否需要作为控制台应用程序重新编译到 Service Fabric 中的 运行?您还预见到其他问题吗?

我知道这是一个预览版,所以我承诺进行研究,以便在与 RTM 中的信息存在差异时更新答案。

  • 为来宾可执行文件启动 here。任何可执行文件都可以,不 需要控制台。
  • 侦听传入流量需要将端口映射到 ServiceManifest 个文件。
  • 运行 权限提升解释 here.
  • 确保您的可执行文件不需要用户交互 控制台级别。