왜 kafka-consumer의 사육사 사용이 권장되지 않고 대신 부트 스트랩 서버를 사용하는 것이 좋습니다? 부트 스트랩 서버의 장점은 무엇입니까?부트 스트랩 서버 대 카프카의 사육사?
2
A
답변
4
kafka 소비자가 kafka 오프셋을 커밋해야 kafka가 zookeeper에서 kafka 중개인으로 오프셋 저장 공간을 이동했기 때문에 kafka-consumer는 사육사와 직접 통신 할 필요가 없기 때문에 새로운 kafka 소비자가 수행합니다. 사육사를 설정할 필요가 없습니다. 그러나 kafka 소비자는 서버에 요청을 보내려면 kafka 브로커 (클러스터)에 항상 연결해야하며 부트 스트랩 서버는이 클러스터의 일부 브로커이며이를 사용하여 모든 브로커를 찾을 수 있습니다.
0
- zookeeper 또는 --bootstrap-server 인수를 사용하는 현재 kafka-consumer 도구에서 이전 소비자와 새 소비자를 구별합니다. 오래된 소비자는 오프셋이 저장되기 때문에 사육사 연결이 필요합니다. 새로운 소비자는 Kafka 중개인의 __consumer_offset 주제에 오프셋이 저장되기 때문에 더 이상 사육사가 필요하지 않습니다. 오래된 소비자를 사용하는 것은 오늘은 권장되지 않으므로 새로운 응용 프로그램의 경우 새로운 구현을 사용하는 것이 좋습니다.
1
- Kafka (v 0.9.0)의 이전 버전에서는 카프카 서버에 데이터를 저장하고 모든 옵셋 관련 정보 (현재 파티션 오프셋)는 사육사에 저장되었습니다. 따라서 소비자가 실행하려면 데이터와 메타 데이터가 모두 필요합니다. 메타 데이터를 얻으려면 사육사를 호출해야합니다. 그것이 사육사와 카프카를 사용하는 이유입니다. 예 Old Consumer Code
- 카프카의 새 버전 즉 (v 0.10.0 - 위). 동일한 Kafka 서버의 __consumer_offset 항목에 모든 항목 메타 데이터 정보 (총 파티션 및 현재 오프셋)를 저장합니다. 이제 Kafka 중개인 만이 사육사와 통신해야하며 소비자는 kafkabroker 자체에서 모든 데이터와 메타 데이터를 가져와 더 이상 사육사와 통신 할 필요가 없습니다.
현재 아키텍처의 이점 : 1. 동일한 장소에서 데이터와 메타 데이터를 훨씬 쉽게 관리 할 수 있습니다.
어디서 봤습니까? – Xire
중복 : https://stackoverflow.com/questions/41774446/kafka-bootstrap-servers-vs-zookeeper-in-kafka-console-consumer – Xire
빠른 응답을 보내 주셔서 감사합니다. 이 주제에 대해서는 이미 논의했지만 bootstrap 서버의 이점을 이해하지 못했습니다. @ Xire –