BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Yahoo!がPub/SubメッセージングプラットフォームのPulsarをオープンソース公開

Yahoo!がPub/SubメッセージングプラットフォームのPulsarをオープンソース公開

原文(投稿日:2016/09/10)へのリンク

Yahoo!は,同社がいくつかのサービスで社内的に運用しているパブリッシュ-サブスクライブ(Pub/Sub)メッセージプラットフォームのPulsarを一般公開した。

Yahoo!の説明によるとPulsarは,複数のホストやデータセンタに水平スケール可能な,低レイテンシのPub/Subメッセージプラットフォームである。Yahoo!では2015年第2四半期から,メールや財務,Gemini Ads,Sherpa,SportsをPulsarで運用している。今回のオープンソース化によって,同社では,Pulsarが他のオープンソース製品と統合されて,広く利用されるようになることを期待している。Yahoo!社内では,10以上のデータセンタに展開されたPulsar上で,140万以上のトピックにわたる1,000億/日以上のメッセージを,平均5ms以下のレイテンシで発行している。Pulsarはメッセージの配信保証と2つの永続化コピー,メッセージリーダに対する自動カーソル管理,データセンタ間レプリケーションを備えている。

ひとつあるいは複数のクラスタ上で動作するメッセージ・アズ・ア・サービスを提供するようにPulsarをセットアップして,API経由で管理 — ユーザの追加と削除,コンピューティングおよびストレージ容量の追加,会計,監視など — することが可能だ。プロデューサとコンシューマの両クライアントはテナントとしてセットアップされ,Javaライブラリを通じて機能にアクセスできる。このライブラリはサービスディスカバリやメッセージデリバリなど,関連タスクの処理を行なう。

Pulsarはメッセージのプロデューサとコンシューマを仲介するものとして,トピックという概念を採用している。プロデューサはトピックに対してメッセージを同期的に,あるいは非同期的に発行する。メッセージはバッチ処理や,圧縮(LZ4, ZLIB)することも可能だ。クライアントはサブスクリプションした上で,これらのメッセージを取得する。サブスクリプションには排他,共有(ラウンドロビン),フェールオーバといった指定が可能だ。

Pulsarはメッセージの配信を保証するために,Apache BookKeeperの台帳を使用して,堅牢なストレージにメッセージを保存する。レイテンシを可能な限り低く保つため,読み込みと書き込みは物理的に異なるディスクに分散される。Yahoo!では,ブックマーク用のジャーナルデバイスにSSDを使用することによって,Pulsarが,“2つの保証付きコピーと全体のオーダリングを伴った状態で,99パーセントを5ms以内”に処理できる,としている。

将来的には非永続的メッセージのサポート,メッセージブローカ間のトピック移行時間を現行の10秒から1秒以下に削減,発行されたメッセージの99.9パーセント(現在は90パーセント)に対する5ms以下のレイテンシ保証,Java以外のクライアント言語のサポートなどが計画されている。

 
 

この記事を評価

関連性
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT