2017-09-05 74 views
2

卡夫卡適合網絡使用嗎?可以通過互聯網使用卡夫卡嗎?

更確切地說,我想要的是將kafka主題公開爲「公共接口」,然後外部消費者(或生產者)可以連接到它。可能嗎?

如果我想在內部和外部網絡中使用集羣,我聽說有問題,因爲很難配置advertised.host.name。真的嗎?

我還必須公開zookeepr嗎?我認爲新的消費者/製片人api不再需要這一點。

+0

我看到這個https://cwiki.apache.org/confluence/display/KAFKA/KIP-103%3A+Separation+of+Internal+and+External+traffic。不確定它是否相關 – ntysdd

回答

3

卡夫卡的有線協議是基於TCP的,可以在公共互聯網上正常工作。在最新版本的Kafka中,您可以爲內部和外部流量配置多個接口。生產中互聯網上的卡夫卡例子包括來自Heroku,IBM MessageHub和Confluent Cloud的幾種Kafka-as-a-Service產品。

如果Kafka客戶端使用新的客戶API,則不需要公開zookeeper。

您也可以選擇將REST代理(如開放源代碼Confluent REST代理)作爲更友好的防火牆界面公開,因爲它通過HTTP(S)運行,並且不會被大多數公司或個人防火牆阻止。

0

除了配置客戶端TLS之外,代理還必須擁有我們儘量避免的公有IP。通常,對於其他服務,我們隱藏負載均衡器後面的所有內容卡夫卡可以做到這一點嗎?

當您需要Java生產者客戶端的高性能批處理時,我不確定託管在公共服務器上的Confluent REST代理是一個真正的選項。