传统Windows服务迁移到Service Fabric

Ben*_*ndt 3 windows windows-services c++builder webbroker azure-service-fabric

我对Windows Server Service Fabric预览版的发布感到不满:在此处 创建和管理在Windows Server上运行的群集

我们正在尝试解决人们认为过多的Windows服务无法手动管理的问题,并考虑了可以使服务更加自动管理的基础架构。我们当前在本地运行,因此我们正在研究Windows Server的Service Fabric,而不是Azure上的Service Fabric。

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

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

以guest虚拟机可执行文件的身份启动和运行该应用程序会涉及什么?是否需要将项目重新编译为控制台应用程序才能在服务结构中运行?您还有其他陷阱吗?

我了解这是一个预览版本,因此,如果RTM中的信息存在差异,我致力于进行研究以更新答案。

小智 5

  • 此处开始访客可执行文件。任何可执行文件都可以,不需要控制台。
  • 侦听传入流量需要在ServiceManifest文件中映射端口 。
  • 在此处解释以提升的特权运行。
  • 确保可执行文件在控制台级别不需要用户交互。