2017-09-05 5 views
2

kafka는 인터넷에 적합합니까?인터넷을 통해 카프카를 사용할 수 있습니까?

보다 정확하게 내가 원하는 것은 "공개 인터페이스"로 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 제품이 있습니다.

카프카 클라이언트가 새 소비자 API를 사용하는 경우 사육사를 노출 할 필요가 없습니다.

오픈 소스 Confluent REST Proxy와 같은 REST 프록시가 HTTP (S)를 통해 실행되고 대부분의 회사 또는 개인 방화벽에 의해 차단되지 않으므로 더 많은 클라이언트 방화벽 친숙한 인터페이스로 노출되도록 선택할 수도 있습니다.

0

클라이언트 TLS를 구성하는 것 외에도 브로커는 공개 IP를 사용하여 피해야합니다. 일반적으로 다른 서비스의 경우로드 밸런서 뒤에있는 모든 것을 숨 깁니다. 이것이 카프카에게 가능한가?

Java 생성자 클라이언트의 고성능 일괄 처리가 필요할 때 공용 서버에서 호스팅되는 Confluent REST 프록시가 실제 옵션인지 확신 할 수 없습니다.

관련 문제