読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます。新機能の詳細をご覧ください。
Build 2018開催中に、MicrosoftはAzure Event Hubsと統合できるようにKafkaクライアントをサポートすると発表した。Azure Event Hubsを担当するMicrosoftのエンジニアチームにより、サービスユーザがイベントデータをKafkaエンドポイントにストリームとして流し込むことができるようになった。
Event Hubsは、Microsoft Azureのイベント処理サービスであり、スケーラビリティの高いデータストリーミングプラットフォームを提供する。開発者は、実行中のKafkaクラスタの代わりにEvent Hubsを活用し、Capture、Auto-Inflate、Geo Disaster-Recoveryなどの機能を利用できる。CoditのAzureコンサルタントでMicrosoft Azure MVPのTom Kerkhove氏はInfoQに次のように述べている。
Kafka Ecosystems向けのEvent Hubsを使用することで、インフラストラクチャを気にすることなくKafkaプロトコルを使用でき、イベントに集中できる。
KafkaとAzure Event Hubsの両方は、複数のプロデューサとコンシューマを持つスケーラブルな分散イベント駆動型メッセージングプラットフォームである。さらに、両方とも、リアルタイムイベントによって駆動される大規模なストリーム取り込みを扱えるように設計されている。MicrosoftのメッセージングアーキテクトであるClemens Vasters氏は、ブログ記事で次のように発表している。
概念的には、どちらも分散しており、パーティション化されており、レプリケートコミットログサービスです。両方とも、パーティション化されたコンシューマのモデルを使っており、同時に利用する多数のコンシューマ向けに大規模なスケーラビリティを提供します。どちらもクライアントサイドカーソルコンセプトを使用し、非常に高いワークロードにスケールします。
Event HubsとKafkaクライアントアプリケーションの典型的な統合としては、Event Hubネームスペースを作成しながらKafkaエンドポイントを有効にすることである。
その後、Kafkaクライアントでは、開発者は、パラメータをKafkaエンドポイント(イベントハブネームスペースの完全修飾名)に切り替えることによって設定を変更する必要がある。さらに、開発者はセキュリティメカニズムをPLAINに設定し、イベントハブ接続文字列をパスワードとして設定する必要がある。
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";・/code>
>
Kafka Ecosystem用のAzure Event Hubsの公開プレビュー版は、Apache Kafka 1.0かそれ以降をサポートしている。ただし、プレビュー版には、Idempotentプロデューサ、HTTP Kafka APIサポート、Kafka StreamsなどのKafka機能のサポートがないという制限がある。
Microsoftは、Azure Event HubsでKafkaエンドポイントをサポートすることで、Kafka機能を模倣するファサードを用意した。Pivotalの製品担当シニアディレクターであるRichard Seroter氏は、Azure Event Hubs上のKafkaインターフェースについての最近のブログ記事で次のように書いている。
Azure Cosmos DBには独自のネイティブインタフェースがありますが、MongoDBとApache Cassandraを模倣したものもあります。Azure Event Hubsは最近、Apache Kafkaインターフェースを追加するという行動に出ました。これらのインターフェースを使用するアプリやツールを持っている場合は、Azureの同等機能を採用するのがより簡単になります。AzureはMongoDB、Cassandra、Kafkaを提供していませんが、ファーストパーティ向けのサービスは共通点があり、コードを変更せずにAzureのグローバル規模のメリットを得ることができます。これは良い戦略です。
KafkaのEvent Hubsのサポートは、現在、East USとWest USでのみ利用できる。Event Hubsの価格設定については、価格ページに記載されている。さらに、Kafkaのサポートについての詳細は、MicrosoftのドキュメンテーションであるEvent Hubs for Kafka Ecosystemsをご覧いただけます。