495 Views
October 05, 21
スライド概要
Apache Pulsar Meetup Japan #4
https://japan-pulsar-user-group.connpass.com/event/222026/
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Apache Pulsarのデモ ヤフー株式会社 加藤 快 Copyright ©2021 (C)Yahoo 2020 Japan Yahoo Corporation Japan Corporation. All rights Allreserved. Rights Reserved.
⾃⼰紹介 名前: - 加藤 快 ★何かの写真 経歴: - 2019/04 新卒⼊社 - 2019/10〜 「Apache Pulsar」を使った社内向けメッセージングプラットフォーム ©2021 Yahoo Japan Corporation All rights reserved. 2
アジェンダ 1. standaloneモードでの実⾏ 2. テナント / ネームスペースの作成 3. サブスクリプションの紹介 ©2021 Yahoo Japan Corporation All rights reserved. 3
アジェンダ 1. standaloneモードでの実⾏ 2. テナント / ネームスペースの作成 3. サブスクリプションの紹介 ©2021 Yahoo Japan Corporation All rights reserved. 4
1. standaloneモードでの実⾏ standaloneモード • Pulsar Cluster は Broker / Bookie / ZooKeeper の3つの要素で構成されています • standaloneモードではこれらを単⼀プロセスで起動できます ©2021 Yahoo Japan Corporation All rights reserved. 5
アジェンダ 1. standaloneモードでの実⾏ 2. テナント / ネームスペースの作成 3. サブスクリプションタイプの紹介 ©2021 Yahoo Japan Corporation All rights reserved. 6
2. テナント / ネームスペースの作成 テナント / ネームスペースの作成 • Pulsar ではテナントを作成することでプロダクト毎にメッセージの管理が可能です ヤフーではヤフオク!等のサービス毎にテナントを作成しています • テナントには複数のネームスペースが紐付きます ネームスペースの単位で1トピックあたりのストレージ容量や権限などを設定可能です • ネームスペースには複数のトピックが紐付きます メッセージ送受信のエンドポイントになっており、初回送受信時に動的に作成されます サービス 等 エンドポイント persistent://tenant/namespace/topicname 使⽤⽤途 等 ©2021 Yahoo Japan Corporation All rights reserved. 7
アジェンダ 1. standaloneモードでの実⾏ 2. テナント / ネームスペースの作成 3. サブスクリプションの紹介 ©2021 Yahoo Japan Corporation All rights reserved. 8
3. サブスクリプションの紹介 サブスクリプションとは • サブスクリプションはConsumerがトピックを購読する際の識別⼦です • Consumerがどこまでメッセージを購読したのかの管理に使⽤されます • トピックに対して複数のサブスクリプションを作成できます Topic Producer subscription-1 Consumer A subscription-2 Consumer B ©2021 Yahoo Japan Corporation All rights reserved. 9
3. サブスクリプションの紹介 サブスクリプションタイプ 1. Exclusive - このタイプのみサブスクリプションに⼀つのConsumerだけが接続可能 2. Shared - 各メッセージはラウンドロビンでどれか⼀つのConsumerだけに送信 3. Failover - 各メッセージは優先度が最も⾼いConsumerだけに送信 4. Key_Shared - 同じKeyを持つメッセージは同じConsumerに送信 ©2021 Yahoo Japan Corporation All rights reserved. 10
3. サブスクリプションの紹介 Exclusive • デフォルトのサブスクリプションタイプです • Exclusiveのサブスクリプションは⼀台のConsumerだけが購読可能です • 別名のサブスクリプションであれば⼆台⽬のConsumerも購読可能です Topic 5 Producer 4 3 2 1 5 4 3 2 1 sub1 (Exclusive) sub2 (Exclusive) Consumer A Consumer B 5 4 ©2021 Yahoo Japan Corporation All rights reserved. 3 2 1 Consumer C 11
3. サブスクリプションの紹介 Exclusive Demo • ⼀台のConsumerがsub1を購読開始します • このとき⼆台⽬のConsumerはsub1を購読することができません Topic 5 Producer 4 3 2 1 sub1 (Exclusive) sub2 (Exclusive) 5 4 3 2 1 Consumer-1 Consumer-2 5 4 ©2021 Yahoo Japan Corporation All rights reserved. 3 2 1 12
3. サブスクリプションの紹介 Shared • Sharedのサブスクリプションは複数のConsumerが購読可能です • 各メッセージはどれか⼀つのConsumerだけに送信されます Topic 5 Producer 4 3 2 1 sub (Shared) 4 1 Consumer-1 5 2 Consumer-2 3 ©2021 Yahoo Japan Corporation All rights reserved. Consumer-3 13
3. サブスクリプションの紹介 Shared Demo • SharedのサブスクリプションにConsumerを2台接続します • メッセージを送信すると2台のconsumerに重複なくメッセージを送られます Topic 5 Producer 4 3 2 1 5 sub (Shared) ©2021 Yahoo Japan Corporation All rights reserved. 3 4 1 2 Consumer-1 Consumer-2 14
4. Appendix ドキュメント、お問い合わせ • デモ資料のリポジトリ: https://github.com/magrain/pulsar-meetup-demo • Apache Pulsar Docs: https://pulsar.apache.org/docs/en/standalone/ • Slack: https://apache-pulsar.slack.com • メール: [email protected] ©2021 Yahoo Japan Corporation All rights reserved. 15
©2021 Yahoo Japan Corporation All rights reserved.