Azure Event Hubs'ın özellikleri ve terminolojisi
Azure Event Hubs, düşük gecikme süresi ve yüksek güvenilirlik ile büyük hacimli olayları ve verileri alan ve işleyen ölçeklenebilir bir olay işleme hizmetidir. Hizmete üst düzey bir genel bakış için bkz . Event Hubs nedir?.
Bu makale, genel bakış makalesindeki bilgileri inceler ve Event Hubs bileşenleri ve özellikleri hakkında teknik ve uygulama ayrıntıları sağlar.
Ad Alanı
Event Hubs ad alanı, olay hub'ları (veya Kafka ayrıştırmasında konular) için bir yönetim kapsayıcısıdır. DNS ile tümleşik ağ uç noktaları ve IP filtreleme, sanal ağ hizmet uç noktası ve Özel Bağlantı gibi çeşitli erişim denetimi ve ağ tümleştirme yönetimi özellikleri sağlar.
Bölümler
Event Hubs, bir olay hub'ına gönderilen olay dizilerini bir veya daha fazla bölüm halinde düzenler. Yeni olaylar geldikçe bu dizinin sonuna eklenir.
Bölüm işleme günlüğü olarak düşünülebilir. Bölümler, aşağıdaki bilgileri içeren olay verilerini barındırıyor:
- Olayın gövdesi
- Olayı açıklayan kullanıcı tanımlı özellik paketi
- Bölümdeki uzaklığı, akış dizisindeki sayısı gibi meta veriler
- Kabul edildiği hizmet tarafı zaman damgası
Bölümleri kullanmanın avantajları
Event Hubs, büyük hacimli olayların işlenmesine yardımcı olmak için tasarlanmıştır ve bölümleme iki şekilde yardımcı olur:
- Event Hubs bir PaaS hizmeti olsa da, altında fiziksel bir gerçeklik vardır. Olayların sırasını koruyan bir günlüğün korunması, bu olayların temel alınan depolamada ve çoğaltmalarında birlikte tutulmasını gerektirir ve bu da bu tür bir günlük için aktarım hızı tavanı elde edilmesine neden olur. Bölümleme, aynı olay hub'ı için birden çok paralel günlük kullanılmasına ve bu nedenle kullanılabilir ham giriş-çıkış (GÇ) aktarım hızı kapasitesinin çarpılmasına olanak tanır.
- Kendi uygulamalarınız bir olay hub'ına gönderilen olay hacmini işlemeye ayak uydurabilmelidir. Karmaşık olabilir ve önemli, ölçeklendirilmiş, paralel işleme kapasitesi gerektirir. Olayları işlemek için tek bir işlemin kapasitesi sınırlıdır, bu nedenle birkaç işleme ihtiyacınız vardır. Bölümler, çözümünüzün bu işlemleri nasıl besleyip her olayın net bir işleme sahibi olmasını sağlar.
Bölüm sayısı
Bölüm sayısı, olay hub'ı oluşturulurken belirtilir. Her fiyatlandırma katmanı için izin verilen bölüm sayısı üst sınırı ile bir arasında olmalıdır. Her katmanın bölüm sayısı sınırı için bu makaleye bakın.
Uygulamanızın söz konusu olay hub'ının en yoğun yükü sırasında gerekli olan en az beklediğiniz kadar bölüm seçmenizi öneririz. Premium ve ayrılmış katmanlar dışındaki katmanlar için, olay hub'ı oluşturulduktan sonra bölüm sayısını değiştiremezsiniz. Premium veya ayrılmış katmandaki bir olay hub'ı için, oluşturulduktan sonra bölüm sayısını artırabilirsiniz, ancak azaltamazsınız. Bölüm anahtarlarının bölümlere eşlenmesi değiştiğinde bölümler arasındaki akışların dağılımı değişir, bu nedenle uygulamanızda olayların göreli sırası önemliyse bu tür değişiklikleri önlemek için çok çalışmanız gerekir.
Bölüm sayısını izin verilen en yüksek değere ayarlamak caziptir, ancak her zaman olay akışlarınızın birden çok bölümden yararlanabileceğiniz şekilde yapılandırılması gerektiğini unutmayın. Tüm olaylarda veya yalnızca birkaç alt akışta mutlak düzen korumasına ihtiyacınız varsa, birçok bölümden yararlanamayabilirsiniz. Ayrıca, birçok bölüm işleme tarafını daha karmaşık hale getirir.
Fiyatlandırma söz konusu olduğunda olay hub'ında kaç bölüm olduğu önemli değildir. Standart katman için aktarım hızı birimleri (TU), premium katman için işleme birimleri (RU) ve ad alanı veya ayrılmış küme için kapasite birimleri (CU) sayısına bağlıdır. Örneğin, standart katmanın 32 bölümlü veya bir bölümlü olay hub'ı, ad alanı bir TU kapasitesine ayarlandığında tam olarak aynı maliyete neden olur. Ayrıca, ayrılmış kümenizin ad alanı veya CU'ları üzerindeki TU'ları veya RU'ları bölüm sayısından bağımsız olarak ölçeklendikleyebilirsiniz.
Bölüm, verileri paralel bir şekilde yayımlamanıza ve kullanmanıza olanak tanıyan bir veri düzenleme mekanizması olduğundan. En iyi ölçeği elde etmek için ölçeklendirme birimlerini (standart katman için aktarım hızı birimleri, premium katman için işleme birimleri veya ayrılmış katman için kapasite birimleri) ve bölümleri dengelemenizi öneririz. Genel olarak, bölüm başına en fazla 1 MB/sn aktarım hızı öneririz. Bu nedenle, bölüm sayısını hesaplamaya yönelik bir kural, beklenen maksimum aktarım hızını 1 MB/sn'ye bölmek olacaktır. Örneğin, kullanım örneğiniz 20 MB/sn gerektiriyorsa, en iyi aktarım hızını elde etmek için en az 20 bölüm seçmenizi öneririz.
Bununla birlikte, uygulamanızın belirli bir bölüme benzine sahip olduğu bir modeliniz varsa, bölüm sayısını artırmak yararlı olmaz. Daha fazla bilgi için bkz . kullanılabilirlik ve tutarlılık.
Olayları bölümlere eşleme
Gelen olay verilerini veri düzenleme amacıyla belirli bölümlere eşlemek için bölüm anahtarı kullanabilirsiniz. Bölüm anahtarı, gönderen tarafından belirtilip bir olay hub'ına geçirilen değerdir. Bölüm atamasını oluşturan statik karma işlevi aracılığıyla işlenir. Bir olayı yayımlarken bölüm anahtarı belirtmezseniz hepsini bir kez deneme ataması kullanılır.
Olay yayımcısı yalnızca bölüm anahtarını bilir, olayların yayımlandığı bölümü bilmez. Anahtar ile bölümün bu şekilde ayrılması göndereni aşağı akış işleme hakkında çok fazla bilgi sahibi olma gereksiniminden kurtarır. Cihaz veya kullanıcı başına benzersiz bir kimlik iyi bir bölüm anahtarı oluşturur, ancak ilgili olayları tek bir bölümde gruplandırmak için coğrafi bölge gibi diğer öznitelikler de kullanılabilir.
Bölüm anahtarı belirtmek, ilgili olayların aynı bölümde ve tam olarak geldikleri sırada bir arada tutulmasını sağlar. Bölüm anahtarı, uygulama bağlamınızdan türetilen ve olayların arasındaki ilişkiyi tanımlayan bir dizedir. Bölüm anahtarı tarafından tanımlanan olay dizisi bir akıştır. Bölüm, bu tür akışlar için çoğullanmış bir günlük deposudur.
Not
Olayları doğrudan bölümlere gönderebilmenize karşın, özellikle yüksek kullanılabilirlik sizin için önemli olduğunda bunu önermeyiz. Olay hub'ının kullanılabilirliğini bölüm düzeyine düşürmektedir. Daha fazla bilgi için bkz . Kullanılabilirlik ve Tutarlılık.
Olay yayımcıları
Bir olay hub'ına veri gönderen herhangi bir varlık bir olay yayımcısıdır (olay üreticisiyle eş anlamlı olarak kullanılır). Olay yayımcıları HTTPS veya AMQP 1.0 ya da Kafka protokollerini kullanarak olayları yayımlayabilir. Olay yayımcıları yayımlama erişimi elde etmek için OAuth2 tarafından verilen JWT belirteçleri veya Olay Hub'ına özgü Paylaşılan Erişim İmzası (SAS) belirteci ile Microsoft Entra ID tabanlı yetkilendirme kullanır.
AMQP 1.0, Kafka protokolü veya HTTPS aracılığıyla bir olay yayımlayabilirsiniz. Event Hubs hizmeti, olayları bir olay hub'ına yayımlamak için REST API ve .NET, Java, Python, JavaScript ve Go istemci kitaplıkları sağlar. Diğer çalışma zamanları ve platformlar için Apache Qpid gibi herhangi bir AMQP 1.0 istemcisi kullanabilirsiniz.
AMQP veya HTTPS kullanma seçimi kullanım senaryosuna bağlıdır. AMQP, taşıma düzeyi güvenliği (TLS) veya SSL/TLS’ye ek olarak kalıcı bir çift yönlü yuva oluşturulmasını gerektirir. OTURUMU başlatırken AMQP'nin ağ maliyetleri daha yüksektir, ancak HTTPS her istek için ek TLS yükü gerektirir. AMQP sık yayımcılar için daha yüksek performansa sahiptir ve zaman uyumsuz yayımlama koduyla kullanıldığında çok daha düşük gecikme süreleri elde edebilir.
Olayları tek tek veya toplu olarak yayımlayabilirsiniz. Tek bir yayın, tek bir olay veya toplu iş olmasına bakılmaksızın 1 MB'lık bir sınıra sahiptir. Bu eşikten büyük yayımlama olayları reddedilir.
Event Hubs aktarım hızı, bölümler ve aktarım hızı birimi ayırmaları kullanılarak ölçeklendirilir. Yayımcıların bir olay hub'ı için seçilen belirli bölümleme modelinin farkında olmayıp yalnızca aynı bölüme tutarlı bir şekilde ilgili olayları atamak için kullanılan bir bölüm anahtarı belirtmesi en iyi yöntemdir.
Event Hubs, bölüm anahtarı değerini paylaşan tüm olayların birlikte depolanmasını ve varma sırasına göre teslim edilmesini sağlar. Bölüm anahtarlarının yayımcı ilkeleriyle birlikte kullanılması durumunda yayımcı kimliğinin ve bölüm anahtarı değerinin eşleşmesi gerekir. Aksi takdirde bir hata oluşur.
Olay saklama
Yayımlanan olaylar yapılandırılabilir, zamanlanmış saklama ilkesine göre bir olay hub'ından kaldırılır. İşte birkaç önemli nokta:
- Varsayılan değer ve mümkün olan en kısa bekletme süresi 1 saattir.
- Event Hubs Standard için maksimum saklama süresi 7 gündür.
- Event Hubs Premium ve Ayrılmış için maksimum saklama süresi 90 gündür.
- Bekletme süresini değiştirirseniz, zaten olay hub'ında olan olaylar da dahil olmak üzere tüm olaylar için geçerlidir.
Event Hubs, tüm bölümlere uygulanan yapılandırılmış saklama süresi için olayları korur. Saklama süresine ulaşıldığında olaylar otomatik olarak kaldırılır. Bir günlük (24 saat) bir saklama süresi belirttiyseniz, olay kabul edildikten tam olarak 24 saat sonra kullanılamaz duruma gelir. Olayları açıkça silemezsiniz.
İzin verilen saklama süresinin ötesinde olayları arşivlediyseniz Event Hubs Yakalama özelliğini açarak bunların Azure Depolama'da veya Azure Data Lake'te otomatik olarak depolanmasını sağlayabilirsiniz. Bu tür derin arşivleri aramanız veya analiz etmeniz gerekiyorsa, bunları Kolayca Azure Synapse'e veya diğer benzer mağaza ve analiz platformlarına aktarabilirsiniz.
Event Hubs'ın zamana göre veri saklama sınırının nedeni, büyük hacimli geçmiş müşteri verilerinin yalnızca bir zaman damgası tarafından dizine alınan ve yalnızca sıralı erişime izin veren derin bir depoda sıkışmasını önlemektir. Buradaki mimari felsefe, geçmiş verilerin Event Hubs veya Kafka tarafından sunulan gerçek zamanlı olay arabiriminden daha zengin dizin oluşturma ve daha fazla doğrudan erişime ihtiyacı olduğunu göstermektedir. Olay akış altyapıları, olay kaynağını belirleme için veri göllerinin veya uzun süreli arşivlerin rolünü oynamak için uygun değildir.
Not
Event Hubs gerçek zamanlı bir olay akışı altyapısıdır ve veritabanı yerine ve/veya sonsuz tutulan olay akışları için kalıcı depo olarak kullanılmak üzere tasarlanmamıştır.
Bir olay akışının geçmişi ne kadar derine inirse, belirli bir akışın belirli bir geçmiş dilimini bulmak için yardımcı dizinlere o kadar ihtiyacınız olur. Olay yüklerinin ve dizin oluşturmanın incelenmesi Event Hubs (veya Apache Kafka) özellik kapsamında değildir. Bu nedenle veritabanları ve Azure Data Lake Store, Azure Data Lake Analytics ve Azure Synapse gibi özelleştirilmiş analiz depoları ve altyapıları, geçmiş olayları depolamak için çok daha uygundur.
Event Hubs Capture, Azure Blob Depolama ve Azure Data Lake Storage ile doğrudan tümleştirilir ve bu tümleştirme aracılığıyla doğrudan Azure Synapse'e akış olayları da sağlar.
Yayımcı ilkesi
Event Hubs, yayımcı ilkeleri aracılığıyla olay yayımcıları üzerinde ayrıntılı denetim sağlar. Yayımcı ilkeleri çok sayıda bağımsız olay yayımcısını kolaylaştırmak için tasarlanmış çalışma zamanı özellikleridir. Yayımcı ilkeleriyle her yayımcı, olayları aşağıdaki mekanizmayı kullanarak bir olay hub'ında yayımlarken kendi benzersiz tanımlayıcısını kullanır:
//<my namespace>.servicebus.windows.net/<event hub name>/publishers/<my publisher name>
Yayımcı adlarını önceden oluşturmanız gerekli değildir, ancak bunlar bağımsız yayımcı kimlikleri sağlamak amacıyla bir olayı yayımlarken kullanılan SAS belirteci ile eşleşmelidir. Yayımcı ilkelerini kullandığınızda PartitionKey değerinin yayımcı adına ayarlanması gerekir. Bu hizmetin düzgün çalışması için bu değerlerin eşleşmesi gerekir.
Capture
Event Hubs Capture , Event Hubs'da akış verilerini otomatik olarak yakalamanıza ve blob depolama hesabı veya Azure Data Lake Storage hesabı seçiminize kaydetmenize olanak tanır. Azure portalından yakalamayı etkinleştirebilir ve yakalamayı gerçekleştirmek için bir minimum boyut ve zaman penceresi belirtebilirsiniz. Event Hubs Capture'ı kullanarak kendi Azure Blob Depolama hesabınızı ve kapsayıcınızı veya yakalanan verileri depolamak için kullanılan Azure Data Lake Storage hesabınızı belirtirsiniz. Yakalanan veriler Apache Avro biçiminde yazılır.
Event Hubs Capture tarafından üretilen dosyalar aşağıdaki Avro şemasına sahiptir:
Not
Azure portalında kod düzenleyicisi kullanmadığınızda, Event Hubs'taki akış verilerini Parquet biçiminde bir Azure Data Lake Storage 2. Nesil hesabıyla yakalayabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Event Hubs'tan Parquet biçiminde veri yakalama ve Öğretici: Event Hubs verilerini Parquet biçiminde yakalama ve Azure Synapse Analytics ile analiz etme.
SAS belirteçleri
Event Hubs, ad alanında ve olay hub’ı düzeyinde kullanılabilen Paylaşılan Erişim İmzaları kullanır. SAS belirteci bir SAS anahtarından oluşturulur ve belirli bir biçimde kodlanmış bir URL’nin SHA karmasıdır. Event Hubs, anahtarın (ilke) ve belirtecin adını kullanarak karmayı yeniden oluşturabilir ve böylece gönderenin kimliğini doğrulayabilir. Normalde, olay yayımcıları için SAS belirteci yalnızca belirli bir olay hub'ı üzerindeki gönder ayrıcalıkları ile oluşturulur. Bu SAS belirteci URL mekanizması, yayımcı ilkesinde sunulan yayımcı kimliğinin temelini oluşturur. SAS ile çalışma hakkında daha fazla bilgi için bkz. Service Bus ile Paylaşılan Erişim İmzası Kimlik Doğrulaması.
Olay tüketicileri
Bir olay hub'ından olay verilerini okuyan herhangi bir varlık olay tüketicisidir. Tüketiciler veya alıcılar bir olay hub'ından olay almak için AMQP veya Apache Kafka kullanır. Event Hubs yalnızca tüketicilerin olay alması için çekme modelini destekler. Olay hub'ından olayları işlemek için olay işleyicileri kullandığınızda bile, olay işlemcisi olay hub'ından olay almak için çekme modelini dahili olarak kullanır.
Tüketici grupları
Event Hubs yayımlama/abonelik mekanizması tüketici grupları aracılığıyla etkinleştirilir. Tüketici grubu, bir olay hub'ından veya Kafka konusundan veri okuyan mantıksal bir tüketici grubudur. Birden çok tüketen uygulamanın bir olay hub'ında aynı akış verilerini uzaklıklarıyla bağımsız olarak okumasını sağlar. Her bölümdeki iletilerin sırasını korurken iletilerin tüketimini paralelleştirmenize ve iş yükünü birden çok tüketici arasında dağıtmanıza olanak tanır.
Tüketici grubundaki bir bölümde yalnızca bir etkin alıcı olması önerilir. Ancak bazı senaryolarda, tüm alıcıların bölümün tüm olaylarını aldığı bölüm başına en fazla beş tüketici veya alıcı kullanabilirsiniz. Aynı bölümde birden çok okuyucunuz varsa, yinelenen olayları işlersiniz. Bunu kodunuzda işlemeniz gerekir; bu önemsiz değildir. Ancak, bazı senaryolarda geçerli bir yaklaşımdır.
Bir akış işleme mimarisinde her bir aşağı akış uygulaması bir tüketici grubuna karşılık gelir. Olay verilerini uzun süreli depolama alanına yazmak isterseniz bu depolama yazma uygulaması bir tüketici grubudur. Bundan sonra karmaşık olay işlemesi başka ve ayrı bir tüketici grubu tarafından gerçekleştirilebilir. Bölümlere yalnızca bir tüketici grubu üzerinden erişebilirsiniz. Olay hub'ında her zaman varsayılan bir tüketici grubu vardır ve ilgili fiyatlandırma katmanı için en fazla tüketici grubu sayısı oluşturabilirsiniz.
Azure SDK'ları tarafından sunulan bazı istemciler, her bölümün tek bir okuyucuya sahip olduğundan ve bir olay hub'ının tüm bölümlerinin okunmasını sağlama ayrıntılarını otomatik olarak yöneten akıllı tüketici aracılarıdır. Kodunuzun, bölümlerin birçok ayrıntısını yoksayabilmesi için olay hub'ından okunan olayları işlemeye odaklanmasını sağlar. Daha fazla bilgi için bkz . Bölüme bağlanma.
Aşağıdaki örneklerde tüketici grubu URI kuralı gösterilmektedir:
//<my namespace>.servicebus.windows.net/<event hub name>/<Consumer Group #1>
//<my namespace>.servicebus.windows.net/<event hub name>/<Consumer Group #2>
Aşağıdaki şekilde Event Hubs akış işleme mimarisi gösterilmektedir:
Akış uzaklıkları
Uzaklık bir olayın bölüm içindeki konumudur. Uzaklığı istemci tarafındaki bir imleç olarak düşünebilirsiniz. Uzaklık, olayın bayt cinsinden numaralandırılmasıdır. Bu uzaklık, olay tüketicisinin (okuyucu) olay akışında olayları okumaya başlamak istediği bir noktayı belirtmesini sağlar. Uzaklığı bir zaman damgası veya bir uzaklık değeri olarak belirtebilirsiniz. Tüketiciler, kendi uzaklık değerlerini Event Hubs hizmetinin dışında saklamaktan sorumludur. Bir bölüm içinde her olay bir uzaklık içerir.
Denetim noktası oluşturma
Denetim noktası oluşturma, okuyucuların bir bölüm olay dizisindeki konumlarını işaretledikleri veya uyguladıkları bir işlemdir. Denetim noktası oluşturma, tüketicinin sorumluluğundadır ve bir tüketici grubunda bölüm başına temelinde gerçekleşir. Bu sorumluluk, her bir tüketici grubu için her bölüm okuyucusunun geçerli konumunu olay akışında izlemesi gerektiği ve veri akışının tamamlandığını düşündüğünde hizmeti bilgilendirebileceği anlamına gelir.
Bir okuyucunun bölüm bağlantısı kesilirse yeniden bağlandığında ilgili tüketici grubundaki o bölümün son okuyucusu tarafından daha önce gönderilen denetim noktasında okumaya başlar. Okuyucu bağlandığında, okumaya başlayacağı konumu belirtmek için uzaklığı olay hub'ına geçirir. Bu şekilde, denetim noktası oluşturma özelliğini hem aşağı akış uygulamaları ile olayları "tamamlandı" olarak işaretlemek hem de farklı makinelerde çalışan okuyucular arasında bir yük devretme oluşması durumunda esneklik sağlamak amacıyla kullanabilirsiniz. Bu denetim noktası oluşturma işleminden daha düşük bir uzaklık belirterek eski verilere dönmek mümkündür. Bu mekanizmayla denetim noktası oluşturma özelliği hem yük devretme esnekliği hem de olay akışı yeniden yürütmesi sağlar.
Önemli
Uzaklıklar Event Hubs hizmeti tarafından sağlanır. Olaylar işlenirken denetim noktasının tüketicinin sorumluluğundadır.
Azure Blob Depolama denetim noktası deposu olarak kullanırken şu önerileri izleyin:
- Her tüketici grubu için ayrı bir kapsayıcı kullanın. Aynı depolama hesabını kullanabilirsiniz, ancak her grup için bir kapsayıcı kullanabilirsiniz.
- Kapsayıcıyı başka hiçbir şey için kullanmayın ve depolama hesabını başka hiçbir şey için kullanmayın.
- Depolama hesabı, dağıtılan uygulamanın bulunduğu bölgede olmalıdır. Uygulama şirket içindeyse, mümkün olan en yakın bölgeyi seçmeyi deneyin.
Azure portalının Depolama hesabı sayfasındaki Blob hizmeti bölümünde aşağıdaki ayarların devre dışı bırakıldığından emin olun.
- Hiyerarşik ad alanı
- Blob geçici silme
- Sürüm oluşturma
Günlük sıkıştırma
Azure Event Hubs, belirli bir olay anahtarının en son olaylarını korumak için olay günlüğünü sıkıştırmayı destekler. Sıkıştırılmış olay hub'ları/Kafka konusuyla, kaba zaman tabanlı saklama yerine anahtar tabanlı saklamayı kullanabilirsiniz.
Günlük sıkıştırma hakkında daha fazla bilgi için bkz . Günlük sıkıştırma.
Ortak tüketici görevleri
Tüm Event Hubs tüketicileri, durum bilgisi olan çift yönlü bir iletişim kanalı olan AMQP 1.0 oturumu aracılığıyla bağlanır. Her bölümde bölüme göre ayrılmış olayların taşınmasını kolaylaştıran bir AMQP 1.0 oturumu vardır.
Bir bölüme bağlanma
Bölümlere bağlanırken, okuyucu bağlantılarını belirli bölümlere koordine etmek için bir kiralama mekanizması kullanmak yaygın bir uygulamadır. Bu şekilde, bir tüketici grubundaki her bölümün yalnızca bir etkin okuyucuya sahip olması mümkündür. Denetim noktası oluşturma, kiralama ve okuyucuları yönetme, akıllı tüketici aracıları olarak görev yapan Event Hubs SDK'ları içindeki istemciler kullanılarak basitleştirilir. Bunlar:
- .NET için EventProcessorClient
- Java için EventProcessorClient
- Python için EventHubConsumerClient
- JavaScript/TypeScript için EventHubConsumerClient
Olayları okuma
Belirli bir bölüm için bir AMQP 1.0 oturumu ve bağlantı açıldıktan sonra olaylar Event Hubs hizmeti tarafından AMQP 1.0 istemcisine teslim edilir. Bu teslim mekanizması, HTTP GET gibi çekme tabanlı mekanizmalardan daha yüksek verimlilik ve daha düşük gecikme sağlar. Olaylar istemciye gönderildiğinde her bir olay verisi örneği, olay dizisinde denetim noktası oluşturmayı kolaylaştırmak için kullanılan uzaklık ve dizi numarası gibi önemli meta veriler içerir.
Olay verileri:
- Atlanacak sayı
- Numara serisi
- Gövde
- Kullanıcı özellikleri
- Sistem özellikleri
Uzaklığı yönetmek sizin sorumluluğunuzdadır.
Uygulama grupları
Uygulama grubu, güvenlik bağlamı - paylaşılan erişim ilkesi veya Microsoft Entra uygulama kimliği gibi benzersiz bir tanımlayıcı koşulu paylaşan bir Event Hubs ad alanına bağlanan istemci uygulamaları koleksiyonudur.
Azure Event Hubs, belirli bir uygulama grubu için azaltma ilkeleri gibi kaynak erişim ilkeleri tanımlamanıza ve istemci uygulamalar ile Event Hubs arasında olay akışını (yayımlama veya kullanma) denetlemenize olanak tanır.
Daha fazla bilgi için bkz . Uygulama gruplarıyla istemci uygulamaları için kaynak idaresi.
Apache Kafka desteği
Apache Kafka istemcileri için protokol desteği (sürüm >=1.0), mevcut Kafka uygulamalarının Event Hubs kullanmasını sağlayan uç noktalar sağlar. Mevcut Kafka uygulamalarının çoğu, Kafka kümesi bootstrap sunucusu yerine bir s ad alanına işaret eden şekilde yeniden yapılandırılabilir.
Maliyet, operasyonel çaba ve güvenilirlik açısından bakıldığında Azure Event Hubs, kendi Kafka ve Zookeeper kümelerinizi ve Azure'da yerel olmayan Hizmet Olarak Kafka tekliflerini dağıtmaya ve çalıştırmaya harika bir alternatiftir.
Apache Kafka aracısı ile aynı temel işlevselliği elde etmeye ek olarak, Event Hubs Capture aracılığıyla otomatik toplu işlem ve arşivleme, otomatik ölçeklendirme ve dengeleme, olağanüstü durum kurtarma, uygun maliyetli kullanılabilirlik alanı desteği, esnek ve güvenli ağ tümleştirmesi ve güvenlik duvarı dostu AMQP over-WebSockets protokolü de dahil olmak üzere çok protokollü destek gibi Azure Event Hubs özelliklerine de erişebilirsiniz.
Protokoller
Üreticiler veya gönderenler bir olay hub'ına olay göndermek için Gelişmiş Mesajlaşma Kuyruğa Alma Protokolü (AMQP), Kafka veya HTTPS protokollerini kullanabilir.
Tüketiciler veya alıcılar bir olay hub'ından olay almak için AMQP veya Kafka kullanır. Event Hubs yalnızca tüketicilerin olay alması için çekme modelini destekler. Olay hub'ından olayları işlemek için olay işleyicileri kullandığınızda bile, olay işlemcisi olay hub'ından olay almak için çekme modelini dahili olarak kullanır.
AMQP
Azure Event Hubs'a olay göndermek ve olay almak için AMQP 1.0 protokolunu kullanabilirsiniz. AMQP, hem olay gönderme hem de alma için güvenilir, performanslı ve güvenli iletişim sağlar. Bunu yüksek performanslı ve gerçek zamanlı akış için kullanabilirsiniz ve çoğu Azure Event Hubs SDK'sı tarafından desteklenir.
HTTPS/REST API
Olayları yalnızca HTTP POST isteklerini kullanarak Event Hubs'a gönderebilirsiniz. Event Hubs, HTTPS üzerinden olay almayı desteklemez. Doğrudan TCP bağlantısının mümkün olmadığı basit istemciler için uygundur.
Apache Kafka
Azure Event Hubs,Kafka üreticilerini ve tüketicilerini destekleyen yerleşik bir Kafka uç noktasına sahiptir. Kafka kullanılarak oluşturulan uygulamalar, Olay Hub'larından herhangi bir kod değişikliği olmadan olay gönderip almak için Kafka protokollerini (sürüm 1.0 veya üzeri) kullanabilir.
Azure SDK'ları, temel alınan iletişim protokollerini soyutlar ve C#, Java, Python, JavaScript gibi dilleri kullanarak Event Hubs'dan olay gönderip almak için basitleştirilmiş bir yol sağlar.
Sonraki adımlar
Event Hubs hakkında daha fazla bilgi için şu bağlantıları ziyaret edin:
- Event Hubs'ı kullanmaya başlama