InfoQ ホームページ Event Driven Architecture に関するすべてのコンテンツ
-
Uber、GraphQLサブスクリプションとKafkaでマイクロサービスを使用したスケーラブルなチャットを構築
Uberは、WAMPプロトコルを使用して構築されたレガシー・アーキテクチャを、GraphQLサブスクリプションを活用した新しいソリューションに置き換えた。新しいアーキテクチャを構築した主な要因は、信頼性、スケーラビリティ、オブザーバビリティ/デバッグ可能性、そして既存のソリューションを維持するチームの能力を妨げている技術的負債にまつわる課題であった。
-
Amazon EventBridge Event BusのAppSync統合によるリアルタイムデータストリーミング機能
AWSはこの頃、Amazon EventBridge Event BusがEvent BusのターゲットとしてAWS AppSyncをサポートし、開発者がアプリケーションからモバイルやデスクトップを含むフロントエンド・アプリケーションにスポーツのスコアなどのリアルタイム更新をストリーミングできるようになると発表した。
-
PinterestがKafka、Flink、MemQ用の本番環境に対応したPubSub Javaクライアントをオープンソース化
Pinterestは、汎用PubSubクライアントライブラリであるPSCをオープンソース化した。PSCは1年半前から実際に幅広く利用されている。このライブラリは、開発者の速度を向上させ、それを使用するサービスのスケーラビリティと安定性を高めることで、エンジニアリングチームを支援している。Javaアプリケーションの90%以上が、最小限の変更でPSCに移行している。
-
Discord、単一サーバーで100万人以上のオンラインMidJourneyユーザーに拡大
Discordは、応答性の高いユーザー体験を維持しながら、単一サーバーで100万人以上のオンライン・ユーザーにサービスを提供するためにプラットフォームを最適化した。同社は、システム観測可能性とパフォーマンスチューニングに支えられた一連のパフォーマンスとスケーラビリティの改善で、何十億ものメッセージ通知を扇状に流す役割を担うギルドコンポーネントを進化させた。
-
DoorDash社、Flinkを用いて新しいセッション化プラットフォームを開発、通知配信の適時性向上へ
DoorDash社のエンジニアリング・チームのChen Yang氏とFan Zhang氏はこのほど、Apache Flinkを使用して、ユーザーのアクティビティとユーザー・セッションをリアルタイムで識別するApache Flinkによるインメモリ・セッション化プラットフォームを開発した。下図に示す新システムは、DoorDash社が以前直面していた多くの課題の1つである、ユーザーがカートを本当に放棄したのか、それとも単にもっと多くの商品や別の販売店を閲覧したのかを識別する、という問題を解決した。この区別は、タイムリーで適切なカート放棄通知を送信するために非常に重要であった。バッチ処理などの従来の方法では、リソースを大量に消費し、タイムラグが発生するため、リアルタイムの検知はほぼ不可能だった。
-
Expedia、WebSocketとKafkaを使用してほぼリアルタイムのストリーミングデータをクエリする
Expediaは、同社のプラットフォームからのクリックストリームデータをほぼリアルタイムでクエリするソリューションを開発し、同社のプロダクトチームとエンジニアリングチームが、新しいデータ駆動型の機能使用事例に取り組んだり、既存のデータ駆動型の機能使用事例を強化したりしながら、ライブデータを探索できるようにした。チームは、WebSocket、Apache Kafka、PostgreSQLを組み合わせて使用し、クエリ結果をユーザーのブラウザに継続的にストリーミングできるようにした。
-
HubSpotがワークフロー・アクションをタイムリーに処理するためにApache Kafkaスイムレーンを使用する方法
HubSpotは、コンシューマーグループの遅延の蓄積を回避し、リアルタイムのトラフィックの処理を優先するために、同じプロデューサーの複数のKafkaトピック(スイムレーンと呼ばれる)上でメッセージをルーティングすることを採用した。トラフィック急増の自動検知と手動検知を組み合わせて使用することで、同社は顧客の大半のワークフローが遅延なく実行されるようにしている。
-
Reddit、モバイルアプリ全体の新しいフィードアーキテクチャにサーバー駆動型UIを採用
Redditは、iOSモバイルアプリのフィード機能を改良し、Androidアプリにも導入した。どちらのケースでも、モバイルアプリをリリースすることなくローカライズされたコンテンツレイアウトの変更を可能にするServer-Driven UI(SDUI)をコミュニケーションアプローチとして採用した。
-
デリバリーヒーロー、イベント駆動型アーキテクチャで会員システムを最適化する
デリバリーヒーローの所有する韓国のフードデリバリーサービスBaeminはモノリシックアーキテクチャから、より柔軟なイベント駆動型のマイクロサービスベースのシステムへ移行することで、利用者の急激な増加という課題を見事に乗り切った。
-
Grab、AWS上のKafkaコンシューマーのトラフィックコストをゼロに削減
Grabは、Kafka 2.3で導入された、Apache Kafkaコンシューマーが同じアベイラビリティゾーン(AZ)内のブローカーノードに接続する機能を利用し、再構成されたコンシューマーのAWS上のトラフィックコストをゼロに削減した。この変更により、AWS上でApache Kafkaを実行するための全体的なインフラコストが大幅に削減された。
-
Amazon SQSがデッドレターキューからのメッセージの再処理をサポート
AWSは最近、AWS SDKまたはコマンドラインインターフェイスを使用したSQSのデッドレターキューのリドライブのサポートを発表した。この新しい機能により、開発者は既存のデッドレターキューから処理されていないメッセージを元のキューに戻すことができる。
-
Datadog、スケーラブルなデータインジェストアーキテクチャを構築する
原文リンク(2023-06-16)Datadogは、第3世代のログストレージシステムHusky専用のデータインジェストアーキテクチャを開発した。このイベント駆動型アーキテクチャ(EDA) により正確なセマンティクスを実現、マルチテナントプラットフォームのトラフィックのバーストに対応し、妥当なインジェストレイテンシーと許容できる運用コストで対応できる。
-
メッセージング機能のSDK化で開発生産性を10倍向上したLinkedIn
LinkedInは1月にクライアントサイドのメッセンジャーSDKを導入して開発生産性を大幅に向上したことを発表した。SDKを使用することで複数のアプリ間でコードの保守コスト削減となり、何千行ものコードが共有ライブラリに抽象化された。あるケースでは新しいLinkedInのユーザー機能を構築する際に40週分の開発工数が節約されたという。
-
Amazon RekognitionがStreaming Video Eventを導入
AWSは先頃、Amazon Rekognitionの新機能として、ライブビデオストリーム上でリアルタイムなアラートを提供するStreaming Video Eventsの提供を開始すると発表した。
-
Kalix:データベースを使わないクラウドネイティブでビジネスクリティカルなアプリケーション構築
Lightbendは最近、Kalixをリリースした。LightbendはAkkaを提供する企業である。Kalixは、任意のプログラミング言語を使って、データベースを使わない、クラウドネイティブでビジネスクリティカルなアプリケーションを構築するための新しいPlatform-as-a-Service製品である。Kalixは統合アプリケーションレイヤーであり、ソフトウェアを作成するために必要な部品を集め、それらの実装の詳細を抽象化する。Lighbendは、開発者に革新的なNoOps開発者エクスペリエンスを提供しようとしている。