Azure Event Hubs: Yerel Apache Kafka desteğine sahip gerçek zamanlı bir veri akışı platformu
Azure Event Hubs, bulutta, herhangi bir kaynaktan herhangi bir hedefe düşük gecikme süresiyle saniyede milyonlarca olay akışı sağlayan yerel bir veri akışı hizmetidir. Event Hubs, Apache Kafka ile uyumludur. Kod değişikliği yapmadan mevcut Kafka iş yüklerini çalıştırmanızı sağlar.
İşletmeler akış verilerini almak ve depolamak için Event Hubs'ı kullanabilir. İşletmeler akış verilerini kullanarak değerli içgörüler elde edebilir, gerçek zamanlı analiz gerçekleştirebilir ve olaylar gerçekleştiğinde olaylara yanıt verebilir. Genel verimliliklerini ve müşteri deneyimlerini geliştirmek için bu verileri kullanabilirler.
Event Hubs, Azure üzerinde oluşturduğunuz herhangi bir olay akışı çözümünün tercih edilen olay alımı katmanıdır. Aşağıdaki kullanım örneklerine hizmet vermek üzere eksiksiz bir veri akışı işlem hattı oluşturmak için Azure içindeki ve dışındaki veri ve analiz hizmetleriyle tümleştirilir:
- Gerçek zamanlı içgörüler oluşturmak için Azure Stream Analytics'i kullanarak olay hub'ınızdaki verileri işleyin.
- Azure Veri Gezgini ile akış verilerini analiz edin ve keşfedin.
- Event Hubs'dan akış verileri üzerinde çalışan kendi buluta özel uygulamalarınızı, işlevlerinizi veya mikro hizmetlerinizi oluşturun.
- Akış verilerinin kalitesini ve uyumluluğunu sağlamak için yerleşik Azure Schema Registry'yi kullanarak şema doğrulamasıyla olayları akışla aktarın.
Önemli özellikler
Aşağıdaki bölümlerde Azure Event Hubs'ın temel özellikleri hakkında bilgi edinin.
Azure Event Hubs üzerinde Apache Kafka
Event Hubs, Gelişmiş Message Queuing Protokolü (AMQP), Apache Kafka ve HTTPS protokollerini yerel olarak destekleyen çok protokollü bir olay akış altyapısıdır. Apache Kafka'yı desteklediği için kod değişikliği yapmadan Kafka iş yüklerini Event Hubs'a getirebilirsiniz. Kendi Kafka kümelerinizi ayarlamanız, yapılandırmanız veya yönetmeniz veya Azure'da yerel olmayan bir hizmet olarak Kafka teklifi kullanmanız gerekmez.
Event Hubs, buluta özel aracı altyapısı olarak derlenir. Bu nedenle Kafka iş yüklerini daha iyi performans, daha iyi maliyet verimliliği ve operasyonel ek yük olmadan çalıştırabilirsiniz.
Daha fazla bilgi için bkz . Apache Kafka için Azure Event Hubs.
Event Hubs'da Şema Kayıt Defteri
Event Hubs'daki Azure Schema Registry, olay akış uygulamalarının şemalarını yönetmek için merkezi bir depo sağlar. Schema Registry, her Event Hubs ad alanında ücretsiz olarak sunulur. Kafka uygulamalarınızla veya Event Hubs SDK tabanlı uygulamalarınızla tümleştirilir.
Schema Registry, olay üreticileri ve tüketicileri arasında veri uyumluluğu ve tutarlılığı sağlar. Şema evrimi, doğrulaması ve idaresi sağlar ve verimli veri değişimini ve birlikte çalışabilirliği teşvik eder.
Schema Registry, mevcut Kafka uygulamalarınızla tümleştirilir ve Avro ve JSON şemaları dahil olmak üzere birden çok şema biçimlerini destekler.
Daha fazla bilgi için bkz . Event Hubs'da Azure Schema Registry.
Stream Analytics ile akış olaylarının gerçek zamanlı işlenmesi
Event Hubs, gerçek zamanlı akış işlemeyi etkinleştirmek için Azure Stream Analytics ile tümleşir. Yerleşik kodsuz düzenleyici ile hiçbir kod yazmadan sürükle ve bırak işlevini kullanarak bir Stream Analytics işi geliştirebilirsiniz.
Alternatif olarak, geliştiriciler gerçek zamanlı akış işleme gerçekleştirmek ve akış verilerini analiz etmek için çok çeşitli işlevlerden yararlanmak için SQL tabanlı Stream Analytics sorgu dilini kullanabilir.
Daha fazla bilgi için içindekiler tablosunun Azure Stream Analytics tümleştirmesi bölümündeki makalelere bakın.
Azure Veri Gezgini ile akış verilerini keşfetme
Azure Veri Gezgini, yüksek performans sunan ve büyük hacimli verilerin neredeyse gerçek zamanlı olarak analiz edilmesini sağlayan tam olarak yönetilen bir büyük veri analizi platformudur. Event Hubs'ı Azure Veri Gezgini ile tümleştirerek neredeyse gerçek zamanlı analiz gerçekleştirebilir ve akış verilerinin keşfini gerçekleştirebilirsiniz.
Daha fazla bilgi için bkz. Bir olay hub'ından Azure Veri Gezgini'a veri alma.
Azure işlevleri, SDK'lar ve Kafka ekosistemi
Event Hubs ile, eyleme dönüştürülebilir içgörüler elde etmek için akışınızı gerçek zamanlı olarak alabilir, arabelleğe alabilir, depolayabilir ve işleyebilirsiniz. Event Hubs bölümlenmiş bir tüketici modeli kullanır. Birden çok uygulamanın akışı eşzamanlı olarak işlemesine olanak tanır ve işleme hızını denetlemenize olanak tanır. Event Hubs, sunucusuz mimariler için Azure İşlevleri ile de tümleşir.
Endüstri standardı AMQP 1.0 protokolü için geniş bir ekosistem mevcuttur. SDK'lar .NET, Java, Python ve JavaScript gibi dillerde kullanılabilir, böylece akışlarınızı Event Hubs'dan işlemeye başlayabilirsiniz. Desteklenen tüm istemci dilleri, düşük düzeyde tümleştirme sağlar.
Ekosistem ayrıca Azure İşlevleri, Azure Spring Apps, Kafka Bağlayıcıları ve Apache Spark ve Apache Flink gibi diğer veri analizi platformları ve teknolojileriyle tümleştirmenizi sağlar.
Esnek ve uygun maliyetli olay akışı
Event Hubs için Standart, Premium veya Ayrılmış katmanlar aracılığıyla esnek ve uygun maliyetli olay akışı deneyimi yaşayabilirsiniz. Bu seçenekler, birkaç MB/sn ile birkaç GB/sn arasında değişen veri akışı gereksinimlerini karşılar. Gereksinimlerinize uygun eşleşmeyi seçebilirsiniz.
Ölçeklenebilir
Event Hubs ile megabayt cinsinden veri akışlarıyla başlayabilir ve gigabayt veya terabayt olarak büyüyebilirsiniz. Otomatik şişirme özelliği, kullanım gereksinimlerinizi karşılayacak aktarım hızı birimi veya işleme birimi sayısını ölçeklendirmek için kullanılabilen seçeneklerden biridir.
Büyük iletilerin akışını destekler
Çoğu akış senaryosunda veriler basit, genellikle 1 MB'tan küçük ve yüksek aktarım hızına sahip olma ile karakterize edilir. İletilerin daha küçük segmentlere bölünemiyorsa örnekler de vardır. Event Hubs, ek ücret ödemeden self servis ölçeklenebilir ayrılmış kümelerle 20 MB'a kadar olayları barındırabilir. Bu özellik, Event Hubs'ın kesintisiz iş operasyonları sağlamak için çok çeşitli ileti boyutlarını işlemesine olanak tanır. Daha fazla bilgi için bkz . Azure Event Hubs ile büyük iletiler gönderme ve alma.
Uzun süreli saklama ve toplu iş analizi için akış verilerini yakalama
Uzun süreli saklama veya mikro toplu işlem için verilerinizi Azure Blob Depolama veya Azure Data Lake Storage'da neredeyse gerçek zamanlı olarak yakalayın. Bu davranışı gerçek zamanlı analiz türetmek için kullandığınız akışta gerçekleştirebilirsiniz. Olay verilerinin yakalanması hızlı bir şekilde ayarlanır.
Nasıl çalışır?
Event Hubs, olay üreticilerini olay tüketicilerinden ayırarak zaman saklama arabelleğine sahip birleşik bir olay akışı platformu sağlar. Üretici ve tüketici uygulamaları birden çok protokol aracılığıyla büyük ölçekli veri alımı gerçekleştirebilir.
Aşağıdaki diyagramda Event Hubs mimarisinin ana bileşenleri gösterilmektedir.
Event Hubs'ın temel işlevsel bileşenleri şunlardır:
- Üretici uygulamaları: Bu uygulamalar Event Hubs SDK'larını veya herhangi bir Kafka üretici istemcisini kullanarak bir olay hub'ına veri alabilir.
- Ad Alanı: Bir veya daha fazla olay hub'ı veya Kafka konusu için yönetim kapsayıcısı. Akış kapasitesini ayırma, ağ güvenliğini yapılandırma ve coğrafi olağanüstü durum kurtarmayı etkinleştirme gibi yönetim görevleri ad alanı düzeyinde işlenir.
- Event Hubs/Kafka konusu: Event Hubs'da olayları bir olay hub'ında veya Kafka konusunda düzenleyebilirsiniz. Bir veya daha fazla bölüm oluşturabilen yalnızca ekleme dağıtılmış bir günlük.
- Bölümler: Bir olay hub'ına ölçeklendirmek için kullanılır. Otobandaki şeritler gibiler. Daha fazla akış aktarım hızına ihtiyacınız varsa, daha fazla bölüm ekleyebilirsiniz.
- Tüketici uygulamaları: Bu uygulamalar, olay günlüğü aracılığıyla arama yaparak ve tüketici uzaklığını koruyarak verileri kullanabilir. Tüketiciler Kafka tüketici istemcileri veya Event Hubs SDK istemcileri olabilir.
- Tüketici grubu: Bu mantıksal tüketici örnekleri grubu, bir olay hub'ından veya Kafka konusundan verileri okur. Birden çok tüketicinin bir olay hub'ında aynı akış verilerini kendi hızlarında ve kendi uzaklıklarıyla bağımsız olarak okumasına olanak tanır.
İlgili içerik
Event Hubs'ı kullanmaya başlamak için aşağıdaki hızlı başlangıçlara bakın.
Event Hubs SDK'sını (AMQP) kullanarak veri akışı yapın
SDK'ları kullanarak Event Hubs'a veri akışı yapmak için aşağıdaki örneklerden herhangi birini kullanabilirsiniz.
- .NET Core
- Java
- Spring
- Python
- JavaScript
- Git
- C (yalnızca gönder)
- Apache Storm (yalnızca alma)
Apache Kafka kullanarak veri akışı
Kafka uygulamalarınızdan Event Hubs'a veri akışı yapmak için aşağıdaki örnekleri kullanabilirsiniz.
Şema Kayıt Defteri ile şema doğrulama
Olay akış uygulamalarınız için şema doğrulaması gerçekleştirmek için Event Hubs Şema Kayıt Defteri'ni kullanabilirsiniz.