2016-06-28 76 views
0

我正在嘗試使用mesos來構建一個根據網絡負載動態擴展的集羣。我可以在哪裏找到mesos服務

需要服務發現機制來查找由mesos部署的應用程序。

有一些工具,但我想知道更多關於細節。 mesos是否有一些我可以列出的API?&找到當前服務及其端點(ip:port)?或者我必須編寫我的應用程序,它會將信息推入某個數據庫(sql,zookeeper)以告訴其他人正在監聽的地址?

Mesos中有一個「DiscoveryInfo」消息。我可以用它來做服務發現嗎?

回答

1

Mesos中有一個「DiscoveryInfo」消息。我可以用它來做服務發現嗎?

當然。關於任務ip和端口的信息可以從/master/state獲得。例如,Mesos DNSmesos-consul以這種方式工作,彙集Mesos以獲取有關任務的信息並更新註冊表。 如果您使用的馬拉松,你可以使用在馬拉松API上面的工具

DisocveryInfo Design Doc

+0

那麼如何工作的呢?每個任務將其狀態[ip:port]報告給主設備,mesos主設備一起收集信息。像Mesos DNS,mesos-consul這樣的工具可以讓投票高手瞭解這些信息? – Jerrylk

+0

當框架接受CPU和MEM之類的資源時,它會聲明哪些端口需要運行特定的任務。這就是Mesos知道IP和端口的原因(當你使用SDN如Calico時,它變得更加複雜)。那麼得到這些信息的唯一方法就是將它從主服務器中取出,因爲Mesos事件尚未實現。 – janisz

+0

謝謝。另一個問題是DiscoveryInfo是作爲TaskInfo或ExecutorInfo的一部分發送的,那時調度器不知道任務是否成功,如果服務在運行過程中無法啓動或失敗,誰負責清理discoveryinfo,或者收集discoveryInfo的工具應忽略未運行的任務的信息? – Jerrylk

相關問題