2015-12-02 77 views
1

自从最近几天以来,我一直在致力于SOA POC。对于服务发现&注册表,我们正在考虑Consul。一旦我们在领事处注册了服务,我们应该如何跟踪注册服务的运行状态? 我们在.net平台上实现了一些东西,其中一些wcf服务托管在不同的应用程序域中,一些在单独的控制台进程中。我们可以通过两种方式跟踪服务。如何跟踪SOA服务注册中心和发现中注册的服务

  1. 使用带有心跳的套接字连接来监听端口。
  2. 处理应用程序域卸载&控制台退出事件。

A.是否有任何其他的方式来处理这种情况?

B.如何在控制台应用程序被终止,我们可以得到通知? procss可能会被杀害,关闭等。我们如何从Consul中央存储库中优雅地删除服务注册表项?

C.听力的所有端口具有一定的心跳是因为它会保持线程忙碌的时候有效的方式?

任何帮助最受赞赏?

回答

1
  • 答:您可以监控您的服务使用任何 检查的健康定义here
  • B.要缓慢从领事删除服务,你可以做this http call向当地领事代理。我建议将此添加到您服务的关闭逻辑 。如果您希望领事在您的服务发生故障时给予某种警告,您可以使用Watches

  • C.健康检查以设定的时间间隔执行。所以你决定检查的强度是 。例如:每30秒

+0

我们可以使用net.tcp协议编写对wcf服务的检查吗? URL将像net.tcp:// localhost:7002/MyService – 107

+0

在这种情况下,您将不得不使用脚本或TTL类型检查。在使用TTL检查时:您的服务会对您当地的领事代理进行http呼叫,让领事知道它(该服务)仍然存在。 – Brrrr