Den här artikeln innehåller svar på några av de vanliga frågorna om att migrera till Event Hubs för Apache Kafka.
Körs Azure Event Hubs på Apache Kafka?
Nej. Azure Event Hubs är en molnbaserad asynkron meddelandekö på flera nivåer med stöd för flera protokoll som utvecklas och underhålls av Microsoft och inte använder någon Apache Kafka-kod. Ett av de protokoll som stöds är Kafka RPC-protokollet för Kafka-klientens konsument- och producent-API:er. Event Hubs fungerar med många av dina befintliga Kafka-program. Mer information finns i Event Hubs för Apache Kafka. Eftersom begreppen Apache Kafka och Azure Event Hubs är mycket lika (men inte identiska) kan vi erbjuda den oöverträffade tillförlitligheten hos Azure Event Hubs till kunder med befintliga Apache Kafka-investeringar.
Event Hubs-konsumentgrupp jämfört med Kafka-konsumentgrupp
Vad är skillnaden mellan en Event Hubs-konsumentgrupp och en Kafka-konsumentgrupp på Event Hubs? Kafka-konsumentgrupper på Event Hubs skiljer sig helt från standardkonsumentgrupper för Event Hubs.
Event Hubs-konsumentgrupper
- De hanteras med CRUD-åtgärder (skapa, hämta, uppdatera och ta bort) via portalen, SDK eller Azure Resource Manager mallar. Event Hubs-konsumentgrupper kan inte skapas automatiskt.
- De är underordnade entiteter till en händelsehubb. Det innebär att samma konsumentgruppsnamn kan återanvändas mellan händelsehubbar i samma namnområde eftersom de är separata entiteter.
- De används inte för att lagra förskjutningar. Orkestrerad AMQP-förbrukning görs med hjälp av extern förskjutningslagring, till exempel Azure Storage.
Kafka-konsumentgrupper
- De skapas automatiskt. Kafka-grupper kan hanteras via API:erna för Kafka-konsumentgruppen.
- De kan lagra förskjutningar i Event Hubs-tjänsten.
- De används som nycklar i vad som i praktiken är ett förskjutet nyckel/värde-lager. För ett unikt par av
group.id
ochtopic-partition
lagrar vi en förskjutning i Azure Storage (3x replikering). Event Hubs-användare debiteras inte extra lagringskostnader från lagring av Kafka-förskjutningar. Förskjutningar kan hanteras via API:erna för Kafka-konsumentgruppen, men förskjutningslagringskontona är inte direkt synliga eller manipulerbara för Event Hubs-användare. - De sträcker sig över ett namnområde. Om du använder samma Kafka-gruppnamn för flera program i flera ämnen innebär det att alla program och deras Kafka-klienter balanseras om när endast ett enda program behöver balanseras om. Välj gruppnamn klokt.
- De skiljer sig helt från Event Hubs-konsumentgrupper. Du behöver inte använda "$Default", och du behöver inte heller bekymra dig om kafka-klienter som stör AMQP-arbetsbelastningar.
- De kan inte visas i Azure Portal. Information om konsumentgrupper är tillgänglig via Kafka-API:er.
Stöder Azure Event Hubs för Apache Kafka autentisering med signaturtoken för delad åtkomst?
Autentisering med OAuth 2.0 och signatur för delad åtkomst stöds.
Signaturtoken för delad åtkomst genereras med hjälp av en auktoriseringsregel och en av dess signeringsnycklar. Det stöds inte när du använder Event Hubs för Apache Kafka-slutpunkten.
Stöder Azure Event Hubs Apache Kafka idempotent-producenter och konsumenter?
Ja. Azure Event Hubs stöder Apache Kafka idempotent-producenter och konsumenter.
Nästa steg
Mer information om Event Hubs och Event Hubs för Kafka finns i följande artiklar: