2016-08-04 2 views
1

카프카의 다른 클라이언트 버전이 카프카 중개자의 단일 버전을 공격 할 수 있습니까? 우리는 'inter.broker.protocol.version'을 사용하여 최신 버전의 Kafka가 이전 버전 클라이언트를 허용 할 수 있음을 알고 있습니다.카프카 중개인의 단일 버전에있는 다른 클라이언트 버전

예를 들어 0.9 카프카 브로커에서 0.8 버전과 0.9 버전의 카프카 클라이언트를 모두 만들 수있는 방법이 있습니까?

답변

0

는 사실 inter.broker.protocol.version이 어떤 관계를 가지고 있지 않으며, 그것의 유일한 목적은 클러스터가 새 브로커 나이가 브로커 이해할 수없는 새로운 프로토콜 버전을 "대화"를 시작 상황을 방지하기 위해 당신이 inter.broker.protocol.version을 설정하는 이유는, 그래서 롤링 업그레이드를 지원하는 것입니다 현재 클러스터 버전으로.

클라이언트와 관련하여 하나의 간단한 규칙이 충족되는 한 아무런 문제가 없어야합니다. 클라이언트는 브로커에서 지원하는 프로토콜 버전을 사용해야합니다. 0.9 브로커는 이전 클라이언트의 모든 요청을 행복하게 처리하지만 0.10에 표시된 요청 버전에서는 실패합니다. 기본적으로 규칙은 upgrade brokers first, then clients이며 클라이언트 요청을 성공적으로 처리하기 위해 브로커에 필요한 모든 논리가 구현되도록합니다.

클라이언트는 각 요청에 대해 요청 버전을 전송하므로 브로커는 이전 클라이언트를 최신 버전과 구별하고 요청을 올바르게 처리 할 수 ​​있습니다.

관련 문제