2016-11-22 24 views
1

我從來沒有使用過ZooKeeper/Kafka,所以如果我說的是錯誤的,請隨時糾正。ECS + ZooKeeper/Kafka - 它會工作嗎?

使用AWS ECS進行ZooKeeper/Kafka集羣擴展/縮減是否是一個好主意?我不太確定這是如何完成的,因爲似乎沒有很多將兩者結合在一起的信息,所以我開始覺得這不應該是我應該做的。

有沒有SEEM是一種自動添加動物園管理員副本到羣集的方式,對於Kafka而言似乎也是如此(除非使用MirrorMaker)。

回答

2

動物園管理員可以通過Exhibitorautomatic instance management使用shared config位置管理。將此組合成一個Docker圖像,其中作爲後端選項Amazon S3,您應該很好。

卡夫卡是有點複雜,因爲每個節點需要一個獨特的broker.id,你需要管理那些故障和節點更換考慮。此外,當將新的broker.id添加到集合中或從中刪除(即縮放)時,您需要重新平衡主題分區。我強烈建議this關於broker.id管理在自動縮放組的主題的博文。

請注意,這兩個問題都與自動卡夫卡縮放相關,並未使用Amazon ECS本身。部署卡夫卡Docker容器上的一些限制Amazon ECS應該是相當簡單的。

我不確定MirrorMaker是否適合您的場景,但請記住,這只是另一個消費者 - 它與羣集管理無關。

+0

現有的/新的Kafka實例如何知道所有ZooKeepers地址? – Ben

+0

@Ben:我建議研究**服務發現**在這方面,因爲有很多選項來建立這個。我們目前正在使用本地的'haproxy'實例,但你也可能會產生一個普通的ELB。 –

+0

haproxy不是更多的負載平衡解決方案嗎?我更希望爲Kafka提供動態服務發現解決方案(例如,如果ZooKeeper實例被添加/刪除,它將動態地重新調整爲這樣的設置)。 – Ben

相關問題