적절한 사용 [카프카] (스물셋) 카프카 소비자 그룹과 구독 지정

아파치 카프카 소비자 그룹을 사용하는 경우, 소비자의 해당 파티션 파티션의 할당을위한 프로세스는, 우리가 "자동"구독 "수동"할당 방식을 사용할 수있다.

동시에 "자동"과 "수동"파티션 할당은 때때로을 망쳐 놓을 것, 서로 영향을 미칠 것입니다. 올바른 사용, 우리는 먼저이 두 가지 방법의 장면을 이해해야합니다.

첫째, 소비자 그룹의 사용 시나리오

카프카는 소비자 그룹에 두 가지 시나리오를 사용했다 :

  • "큐 모드": 메시지의 모든 일반적인 주제의 소비자 소비의 같은 그룹에서뿐만 아니라 메시지는 소비자 다루고 있음을 확인합니다. 자신의 메시지를 수신, 동료을 각 소비자와 하나 개 이상의 파티션 : 모든 파티션의 상관 관계를 만들기 위해 모든 소비자 및 소비자 단체의 테마가 될 것입니다. 역은 하나의 파티션이 소비자와 관련된 말한다, 그 메시지는 다른 소비자가 수신되지 않습니다.
    소비자가 시작에 불과 경우, 모든 파티션이 할당된다. 메시지의 크기를 확대하면, 우리는 모든 소비자가 하나 개의 파티션 만 관련되어 도달 할 수있는, 소비자, 수평 확장 기능의 수를 확장 할 필요가있다. 파티션의 어떤 분포가 없기 때문에 파티션이 유휴 상태에있을 것입니다 소비자의 수보다 더 크다.
  • 메시지의 테마는 앞의 장면에 따라 함께 자사의 소비자 단체, 소비자 단체 및 할당 작업의 모든 가입자로 전송되어 다른 소비자 단체 수단을 만들기 위해 "모델을 공개 / 등록". 우리는 이러한 거래의 수, 금융 시스템, ERP 시스템을 소비하고 위험 또한 그것을 소비 할 필요가 모니터링과 같은 다른 응용 프로그램 요구 사항을 가지고 있기 때문에 이것은 종종있다. 이것은 비동기 투명 공통 데이터를 얻을 수있다.
    두 시나리오 모두에서 소비자 그룹은 중요한 기능을 가지고 : 재조정을. 유효한 파티션 (고객 번호 <= 주제 파티션)가있는 경우, 그룹에 가입하기 위해 새로운 소비자를 분할 할 때, (여전히 원래의 소비자와 관련 된 것 배포 작업의 재 균형을 시작합니다 적어도 하나의 파티션)을 첨가하여 새로운 고객에 재 할당 유지한다. 때문에 여러 가지 이유의 소비자가 그룹을 떠날 때 마찬가지로, 모든 파티션은 소비자의 나머지 부분에 할당됩니다.

둘째, "자동"또는 "수동"

KafkaConsumer의 API에 상기 자동 분배 수단 () 메서드를 가입. 이 방법은 필수 소비자 그룹을 설정하도록 요구, group.id 매개 변수는 소비자 비어있을 수 없습니다. 그리고 당신은 파티션의 할당을 처리 할 필요가 없습니다.
서신 구독 () 메소드는, 수동으로 사용 테마 소비자 파티션, 다음 읽을 지정할 수 있습니다 : 할당 () 메소드를. 당신이 정확한 제어 메시지의 처리 부하를 필요로하지만, 또한 확인할 수 있습니다 때 어떤 파티션 어떤 메시지를이 수동으로 유용 할 것입니다. 그러나 카프카는 재조정의 기능을 제공 할 수 없습니다. 그리고 수동 모드를 사용할 때, 당신은 소비자 그룹을 지정할 수 없습니다, group.id가 비어 있습니다.
두 가지 접근법은 자신의 응용 프로그램 시나리오를 가지고 있지만 위험이 두 가지를 사용하지 않는 것이 좋습니다. 소비자 그룹 G1을 가정 그룹은 C1은 하나의 가입 구독 한 소비자 만이 두 개의 파티션 P1, P2 테마 T1을 갖는다 갖는다. 이때 G1, P1과 P2의 새로운 소비자 C2는 할당과 관련된 방법. 가능한 모든 따라 있지만, 사실은 나쁜 상황이다. 본질적으로, 장면의 사용은 당신이 확실하지 G1은 지원 또는 공개 / 등록 수행에서 흔히있어, 혼란. 실제 사용은 오프셋 제출 형식은 이것이다 :

    key = [group, topic, partition]
    value = offset

메모의 주요 소비자, C1 구분하지 않았고, C2는 더러운을 쓸 것 같은 키가 있습니다. 대표 C1 또는 C2 벤 붕괴가 서로 다시 시작의 범위를 다시 얻기 위해 상쇄 메시지가 손실 것입니다.

셋째, 요약

베스트 파티션이 자동으로 할당됩니다 그래서, 구독 () 메소드를 사용합니다. 우리가 많은 노력을 절약 할 결국, 소비자 그룹 메커니즘 카프카는 아주 좋은되었습니다. 사용자가 지정한 방식으로 () 할당 사용해야하는 경우에도 또한 해당 소비자 그룹을 설정해야합니다. 혼합하지보십시오.

게시 된 334 개 원래 기사 · 원 찬양 227 ·은 80000 +를 볼

추천

출처blog.csdn.net/BeiisBei/article/details/104743322