2015-12-02 118 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