이 문서에서는 Apache Kafka용 Event Hubs로 마이그레이션하는 방법과 관련된 몇 가지 질문과 대답을 제공합니다.
Apache Kafka에서 Azure Event Hubs가 실행되나요?
아니요. Azure Event Hubs는 Microsoft에서 개발하고 유지 관리하는 여러 프로토콜을 지원하는 클라우드 네이티브 다중 계층 브로커이며 Apache Kafka 코드를 사용하지 않습니다. 지원되는 프로토콜 중 하나는 Kafka 클라이언트의 소비자 및 생산자 API에 대한 Kafka RPC 프로토콜입니다. Event Hubs는 대부분의 기존 Kafka 애플리케이션에서 작동합니다. 자세한 내용은 Apache Kafka용 Event Hubs를 참조하세요. Apache Kafka와 Azure Event Hubs의 개념은 매우 비슷하지만(동일하지는 않음) Apache Kafka에 투자한 기존 고객에게 Azure Event Hubs의 뛰어난 안정성을 제공할 수 있습니다.
Event Hubs 소비자 그룹 및 Kafka 소비자 그룹
Event Hubs에서 이벤트 허브 소비자 그룹과 Kafka 소비자 그룹 간 차이점은 무엇인가요? Event Hubs의 kafka 소비자 그룹은 표준 Event Hubs 소비자 그룹과 완전히 다릅니다.
Event Hubs 소비자 그룹
- 포털, SDK 또는 Azure Resource Manager 템플릿을 통해 CRUD(만들기, 검색, 업데이트, 삭제) 작업으로 관리됩니다. Event Hubs 소비자 그룹은 자동으로 만들 수 없습니다.
- 이벤트 허브의 자식 엔터티입니다. 즉, 각각 별도의 엔터티이기 때문에 동일한 네임스페이스의 이벤트 허브 간에 동일한 소비자 그룹 이름을 재사용할 수 있습니다.
- 오프셋을 저장하는 데 사용되지 않습니다. 오케스트레이션된 AMQP 사용은 Azure Storage와 같은 외부 오프셋 스토리지를 사용하여 수행됩니다.
Kafka 소비자 그룹
- 자동으로 생성됩니다. Kafka 그룹은 Kafka 소비자 그룹 API를 통해 관리할 수 있습니다.
- Event Hubs 서비스에 오프셋을 저장할 수 있습니다.
- 오프셋은 실제로 오프셋 키-값 저장소에서 키로 사용됩니다.
group.id
및topic-partition
으로 구성된 고유 쌍의 경우 Azure Storage(3배 복제)에 오프셋을 저장합니다. Event Hubs 사용자가 Kafka 오프셋을 저장할 때는 추가 스토리지 비용이 발생하지 않습니다. 오프셋은 Kafka 소비자 그룹 API를 통해 조작할 수 있지만 오프셋 스토리지 계정은 이벤트 허브 사용자에게 직접 표시되거나 조작할 수 없습니다. - 네임스페이스 전체에 걸쳐 있습니다. 여러 토픽의 여러 애플리케이션에 동일한 Kafka 그룹 이름을 사용하는 경우 단일 애플리케이션의 균형만 다시 조정해야 할 때에도 항상 모든 애플리케이션 및 해당 Kafka 클라이언트의 균형이 다시 조정됩니다. 그룹 이름을 신중하게 선택합니다.
- Event Hubs 소비자 그룹과 완전히 다릅니다. ‘$Default’를 사용할 필요가 없으며 Kafka 클라이언트가 AMQP 워크로드를 방해할 것을 걱정할 필요도 없습니다.
- Azure Portal에서 볼 수 없습니다. 소비자 그룹 정보는 Kafka API를 통해 액세스할 수 있습니다.
Apache Kafka용 Azure Event Hubs가 공유 액세스 서명 토큰 인증을 지원하나요?
OAuth 2.0 및 공유 액세스 서명을 사용하여 인증이 지원됩니다.
공유 액세스 서명 토큰은 권한 부여 규칙과 서명 키 중 하나를 사용하여 생성됩니다. Apache Kafka 엔드포인트에 대한 Event Hubs를 사용하는 경우 지원되지 않습니다.
Azure Event Hubs는 Apache Kafka idempotent 생산자 및 소비자를 지원하나요?
예. Azure Event Hubs는 Apache Kafka idempotent 생산자 및 소비자를 지원합니다.
다음 단계
Event Hubs 및 Kafka용 Event Hubs에 대해 자세한 내용은 다음 문서를 참조하세요.