4.2. 브로커 유형
클러스터 관리자는 클러스터의 기본 브로커 구현을 설정할 수 있습니다. 브로커를 생성할 때 Broker 오브젝트에 설정된 구성을 제공하지 않는 한 default 브로커 구현이 사용됩니다.
4.2.1. 개발 목적으로 기본 브로커 구현 링크 복사링크가 클립보드에 복사되었습니다!
Knative는 기본 채널 기반 브로커 구현을 제공합니다. 이 채널 기반 브로커는 개발 및 테스트 목적으로 사용할 수 있지만 프로덕션 환경에 적절한 이벤트 전달 보장은 제공하지 않습니다. default 브로커는 기본적으로 InMemoryChannel 채널 구현에서 지원합니다.
Apache Kafka를 사용하여 네트워크 홉을 줄이려면 Apache Kafka에 대한 Knative 브로커 구현을 사용하십시오. KafkaChannel 채널 구현에서 지원하도록 채널 기반 브로커를 구성하지 마십시오.
4.2.2. Apache Kafka에 대한 프로덕션 지원 Knative 브로커 구현 링크 복사링크가 클립보드에 복사되었습니다!
프로덕션 지원 Knative Eventing 배포의 경우 Apache Kafka에 Knative 브로커 구현을 사용하는 것이 좋습니다. 브로커는 Knative 브로커의 Apache Kafka 기본 구현으로 Kafka 인스턴스에 직접 CloudEvents를 보냅니다.
Knative 브로커는 이벤트를 저장하고 라우팅하기 위해 Kafka와 기본 통합됩니다. 이를 통해 브로커 및 다른 브로커 유형에 대해 Kafka와 보다 원활하게 통합할 수 있으며 네트워크 홉을 줄일 수 있습니다. Knative 브로커 구현의 기타 이점은 다음과 같습니다.
- at-least-once delivery guarantee
- CloudEvents 파티션 확장을 기반으로 이벤트 전달 순서
- 컨트롤 플레인 고가용성
- 수평으로 확장 가능한 데이터 플레인
Apache Kafka에 대한 Knative 브로커 구현은 바이너리 콘텐츠 모드를 사용하여 들어오는 CloudEvent를 Kafka 레코드로 저장합니다. 즉, 모든 CloudEvent 속성 및 확장은 Kafka 레코드의 헤더로 매핑되고 CloudEvent의 data 사양은 Kafka 레코드의 값에 해당합니다.