カスタム開発 Icon

Apache Kafka

Apache Kafkaは、フォールトトレラントでスケーラブルなイベント駆動型アーキテクチャを持つ分散システムであり、次世代のイベントストリーミングシステムとして登場しました。 これは新しいタイプのインテリジェントアプリケーションやエンゲージメントアプリケーション、特にSalesforce Einstein テクノロジのようなAIの利便性を全てのユーザに提供するようなアプリケーションに対して強力なサポートが可能になります。

Kafkaを使用してDreamHouse Webアプリケーションから物件閲覧のイベントをストリーミングし、別のアプリケーションでこれらのイベントデータを処理し、Webソケットを介してリアルタイムダッシュボードに集計データを送信するデモをご覧ください。

Kafkaを使用すると、多くのイベントプロデューサと多くのイベントコンシューマを結ぶイベントストリーミングトポロジを構築できます。 よく知られたパブリッシュ/サブスクライブのセマンティクスを使用しながら、Kafkaはメッセージの高耐久性や水平方向へのスケーリングといった昨今高まるニーズをサポートします。 [Herokuは現在、管理サービスとしてKafkaを提供](https://heroku.com/kafka)していますので、自前でKafkaサーバーを管理する必要はありません。

多くのKafkaシステムでは、ユーザーインタラクション(アプリ&ウェブ)、遠隔測定データ、またはデータ変更イベント(例: 変更履歴のキャプチャ)を含む多くのソースからデータを取り込みます。 どのシステムからでも、指定されたトピックのイベントを購読することができます。 たとえば、ユーザーがアイテムを表示するたびにそのインタラクションをKafkaに送信するモバイルアプリがあるかもしれません。 また、生のイベントを大きなデータストアに保存するコンシューマーがいるかもしれません。 別のコンシューマは、データをリアルタイムで処理して集計を計算し、データベースに格納して、ダッシュボードや他の視覚化ツールで瞬時に分析するようなケースもあります。

Heroku KafkaサービスとSalesforceとの関係については、 Introducing Apache Kafka on Heroku: Event-Driven Architecture for the Cloud Era の Blog ポストをチェックしてみてください

GitHub Logo

DreamHouse webアプリに物件ビューとお気に入りイベントをKafkaに送信する昨日を実装しました。このNode.js アプリケーションはHerouに簡単にデプロイできます。 手順はこちらをご覧ください: https://github.com/dreamhouseapp/dreamhouse-web-app/tree/kafka

GitHub Logo

コンシューマのシンプルな一例としては、イベントを受け取りそれらをPostgresデータベースに入れます。 コードとデプロイメントの手順については、以下を参照してください: https://github.com/dreamhouseapp/dreamhouse-kafka-postgres