SlideShare a Scribd company logo
1 of 41
Download to read offline
Apache Pulsarの近況 & meetup
北京の参加報告
ヤフー株式会社 システム統括本部
酒井 宏⾏
栗原 望
2019/09/04
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2
Apache Pulsarの近況
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3
⾃⼰紹介
酒井 宏⾏
経歴︓
- 2007/04 新卒⼊社
- 2007/06 Yahoo! JAPAN ID全般(ID登録、登録情報、ID連携など)
- 2015/07 ヤフオクのBEシステム
- 2016/10 「Apache Pulsar」を使った社内向けメッセージングプラットフォーム
最近︓
- ⼦育て
- スポーツ観戦
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 4
Apache Pulsar
Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム
• 特徴
• ⾼速
• スケーラブル
• デュラブル
• マルチテナント
• ジオレプリケーション
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 5
Apache Pulsar
Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム
Producer Consumer
Broker 1 Broker 2 Broker 3
Bookie
1
Local ZK
Bookie
2
Bookie
3
Pulsar Cluster
Configuration
Store
(Global ZK)
■3つのコンポーネント
• Broker - serving node
• Bookie – storage node
• Zookeeper – store metadata and configu
ration
• 各コンポーネントを独⽴してスケール可能
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6
Apache Pulsar
Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム
• Users
• Verizon media (Yahoo! Inc.)
• Comcast
• Streamlio
• Tencent
• Zhaopin
• China Mobile
• Yahoo! JAPAN
• etc
http://pulsar.apache.org/
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7
Apache Pulsar
Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム
• Releases (計37回)
• 2016/09 v1.14 (OSSとして公開)
• 2018/05 v2.0
• 2018/10 v2.2 (TLP昇格後の初リリース)
• 2019/07 v2.4
• Github
• stars: 4,046
• Commits: 3,712
• Contributors: 156
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8
Star数の推移
☆2019/08 4,000件突破
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9
Contributor数の推移
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 10
Apache Pulsar
Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム
• Conferences
• 2018/09 ApacheCon North America (2talks)
• 12 Apache Pulsar Meetup 上海
• 12 KubeCon North America (booth)
• 2019/03 Apache Pulsar × Apache Flink Meetup 杭州
• 05 KubeCon Europe (booth)
• 06 KubeCon China (booth)
• 06 Apache Pulsar Meetup Palo alto
• 08 Apache Pulsar Meetup 北京
• 09 ApacheCon North America (5talks)
• 11 KubeCon North America (CFP提出済)
• And more
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11
新機能
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 12
Pulsar-2.0、2.1
• Pulsar Functions
• Schema registry
• Topic compaction
• 2.0
• Release: 2018/05
• Pull requests: 423件
• 2.1
• Release: 2018/08
• Pull requests: 378件
• Pulsar IO – connector framework
• Tired Storage
• Go client(Based on C++ client library)
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Pulsar Functions
• V2.0からサポート
• ⼊⼒トピックからデータを受け取り、何らかの処理を⾏って出⼒トピックに書き込む
• ちょっとした前処理やイベント処理を⼿軽に実現できる
Source SinkProducerConsumer
Pulsar Function Worker
F(x)
def process(input):
return input + ’!’
exclamation.py
hoge hoge!
13
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 14
Pulsar-2.2 ~
• V2.2
• Pulsar SQL
• Dead Letter Topic
• V2.3
• Authentication plugin(token based)
• Releases
• 2018/10 v2.2
• 2019/02 v2.3
• 2019/07 v2.4
• V2.4
• Key_shared
• Replicated subscriptions
• Negative ack
• Authentication plugin(SASL)
• 開発中
• Pure Go client
• Node.js client
• Pulsar Manager
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 15
Pulsar SQL
presto> select * from my_topic;
• V2.2からサポート
• Pulsar Connector for Presto
• SQLクエリでメッセージ取得可能
http://pulsar.apache.org/
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 16
Dead Letter Topic
• V2.2からサポート
• 指定回数処理できなかったメッセージをdead letter topicに移動
consumer =pulsarClient.newConsumer(Schema.BYTES)
.topic(“persistent://my-tenant/my-ns/default-topic”)
.ackTimeout(10, TimeUnit.SECONDS)
.subscriptionName(“sub1”)
.deadLetterPolicy(DeadLetterPolicy.builder()
.maxRedeliverCount(3)
.deadLetterTopic("persistent://my-tenant/my-ns/dead-letter-topic")
.build())
.subscribe();
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 17
Authentication plugins(token based, SASL)
• それぞれV2.2、v2.4からサポート
• Client – Broker間の認証⽤プラグイン
• 2つの認証プラグインが追加
• 今までは実質TLSクライアント認証のプラグインのみ
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 18
Key_shared
• V2.4からサポート
• 4つ⽬のsubscription type(既存︓exclusive、shared、failover)
• メッセージの順序を(指定したkey単位で)維持しつつ、複数consumerで
処理可能
consumer =pulsarClient.newConsumer(Schema.BYTES)
.topic(“persistent://my-tenant/my-ns/default-topic”)
.subscriptionName(“sub1”)
.subscriptionType(SubscriptionType.Key_Shared)
.subscribe();
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 19
Key_shared
http://pulsar.apache.org/
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 20
Key_shared
http://pulsar.apache.org/
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 21
Replicated Subscriptions
• V2.4からサポート
• クラスタ間でsubscriptionの購読位置(cursor)を同期
• Consumerがクラスタをスムーズに切り替え可能
consumer =pulsarClient.newConsumer(Schema.BYTES)
.topic(“persistent://my-tenant/my-ns/topic-1”)
.subscriptionName(“Sub-A”)
.replicateSubscriptionState(true)
.subscribe();
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
topic-1
重複が発⽣
22
Replicated Subscriptions
データセンターA
Consumer
データセンターB
12
1
1 432
V2.3以前
4 123
Sub-A Sub-ASub-A
メッセージを消費したので
cursorが移動
topic-1
同期されない
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
topic-1
23
Replicated Subscriptions
データセンターA
Consumer
データセンターB
12
3
1 432
V2.4以降
4 123
Sub-A Sub-ASub-A
メッセージを消費したので
cursorが移動
Sub-A
他クラスタと同期
topic-1
前クラスタでの購読位置
から購読開始
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 24
Negative ack
• V2.4からサポート
• Negative ackされたメッセージは再送される
• 受信メッセージの処理に失敗した場合に利⽤
try {
Message msg = consumer.receive();
// Do something
} catch (Exception e) {
// Failed to process message
consumer.negativeAcknowledge(msg);
}
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 25
Clients
Pulsar • Java
• C++
• Python
• Go
• Node.js
• WebSocket
Kafka • Java
• And more (third-pirty)
• Pulsarは「WebSocket APIで複数⾔語をカバー」から、
「各⾔語のライブラリを充実」に
• Kafkaはサードパーティ製のクライアントが豊富
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 26
Pure Go client
• 開発中
• https://github.com/apache/pulsar-client-go
• Not based on the C++ client library
• Go 1.11+
• 2019/03 initial commit
• 1年前にC++ client baseのlibraryをリリース
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 27
Node.js client
• 開発中
• https://github.com/apache/pulsar-client-node
• Based on C++ client library
• Node 10+
• 2019/03 initial commit
// Create a client
const client = new Pulsar.Client({
serviceUrl: 'pulsar://localhost:6650',
});
// Create a producer
const producer = await client.createProducer({
topic: 'persistent://public/default/my-topic',
});
// Send a message
await producer.send({ data: Buffer.from('Hello World!') });
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 28
Pulsar Manager
• 開発中
• Vue.js + Java
• Web UIからテナントなどの作成、stats閲覧、各種設定が可能
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 29
Pulsar Manager
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 30
Pulsar Manager
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
まとめ
31
まとめ
n Apache Pulsar
› 機能追加など活発に開発が⾏われている
› カンファレンスへの開催 / 参加も活発
› 順調にstar数、contributor数も推移
n ドキュメント、お問い合わせ
› ドキュメント : https://pulsar.apache.org
› Slack : https://apache-pulsar.slack.com
› メール : users@pulsar.apache.org
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 32
Pulsar Meetup 北京の参加報告
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 33
⾃⼰紹介
栗原 望
経歴︓
2012/04 ヤフー株式会社に新卒⼊社
2012/10 ユーザーの属性情報に関連する社内向けプラットフォームの開発
2015/07 ヤフオクのBEシステム再構築
2016/10 「Pulsar」を使った社内向けメッセージングプラットフォームの開発
2017/06~ 「Pulsar」のコミッター
趣味:
ぷよぷよ
ボードゲームいろいろ
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Pulsar Meetup 北京 (2019/08/17)
• https://www.huodongxing.com/event/1502359221000
• 参加者: 50名くらい
34
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Meetups in China
35
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Users in China
36
• 中国ではMQを使っている企業が多い
• eコマースが発達し、流れるトランザクションの量が膨⼤
• 以前はRabbitMQを使っているところが多かった
• 最近はより⾼いスケーラビリティを求めてKafkaやPulsarが使われている
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
KoP (Kafka on Pulsar)
• https://github.com/apache/pulsar/wiki/PIP-42%3A-KoP---Kafka-on-Pulsar
• Pulsarの上にKafka Protocol Handlerを載せた
• Kafka Clientが直接Pulsarに接続できるように
37
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Zhaopin in Pulsar community
• Pulsarメンバーは2⼈(!)
• PulsarをEvent処理に使っている: https://www.slideshare.net/hustlmsp/how-
zhaopin-built-its-event-center-using-apache-pulsar
• 1⽇あたり平均数百億メッセージ
• Key_Sharedサブスクリプションなどで貢献
38
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Apache Pulsar at Tencent TEG: use cases and
best practices
• Tencentでの利⽤例
• 課⾦周りでPulsarを使っている: ⼀貫性、可⽤性、ストレージ容量、レイテンシ
• 8 clusters, 600+ topics
39
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
まとめ
中国のPulsarコミュニティは予想よりかなり⼤きかった
• Tencentなど⼤企業もPulsarを使っている
• Contributorも数名来ていた
Kafkaは中国でも強い
• Kafkaユーザーに簡単に移⾏してもらうためのKoP(Kafka on Pulsar)
(料理が美味しかった︕)
40
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904

More Related Content

What's hot

アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術 アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術 Hiroki NAKASHIMA
 
アメブロの大規模システム刷新と それを支えるSpring
アメブロの大規模システム刷新と それを支えるSpringアメブロの大規模システム刷新と それを支えるSpring
アメブロの大規模システム刷新と それを支えるSpringTakuya Hattori
 
AzureでLaravel動かしてみた
AzureでLaravel動かしてみたAzureでLaravel動かしてみた
AzureでLaravel動かしてみたKeiji Kamebuchi
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_bYahoo!デベロッパーネットワーク
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてgree_tech
 
とあるKVSをAutoscalingしてみる
とあるKVSをAutoscalingしてみるとあるKVSをAutoscalingしてみる
とあるKVSをAutoscalingしてみるMakoto Uehara
 
Cloud Foundry x Wagby
Cloud Foundry x WagbyCloud Foundry x Wagby
Cloud Foundry x WagbyYoshinori Nie
 
サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」VirtualTech Japan Inc.
 
Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011Ichiro Fukuda
 
OpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix EnvironmentsOpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix EnvironmentsToru Makabe
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)VirtualTech Japan Inc.
 
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話Yahoo!デベロッパーネットワーク
 
Aerospike deep dive migration
Aerospike deep dive migration Aerospike deep dive migration
Aerospike deep dive migration Makoto Uehara
 

What's hot (20)

Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 
アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術 アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術
 
Yahoo! JAPAN の Ambari 活用事例 #yjdsnight
Yahoo! JAPAN の Ambari 活用事例 #yjdsnightYahoo! JAPAN の Ambari 活用事例 #yjdsnight
Yahoo! JAPAN の Ambari 活用事例 #yjdsnight
 
マルチビッグデータの活用を支える DWHの作り方
マルチビッグデータの活用を支える DWHの作り方マルチビッグデータの活用を支える DWHの作り方
マルチビッグデータの活用を支える DWHの作り方
 
アメブロの大規模システム刷新と それを支えるSpring
アメブロの大規模システム刷新と それを支えるSpringアメブロの大規模システム刷新と それを支えるSpring
アメブロの大規模システム刷新と それを支えるSpring
 
AzureでLaravel動かしてみた
AzureでLaravel動かしてみたAzureでLaravel動かしてみた
AzureでLaravel動かしてみた
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
 
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
 
とあるKVSをAutoscalingしてみる
とあるKVSをAutoscalingしてみるとあるKVSをAutoscalingしてみる
とあるKVSをAutoscalingしてみる
 
Apache NiFi の紹介 #streamctjp
Apache NiFi の紹介  #streamctjpApache NiFi の紹介  #streamctjp
Apache NiFi の紹介 #streamctjp
 
Cloud Foundry x Wagby
Cloud Foundry x WagbyCloud Foundry x Wagby
Cloud Foundry x Wagby
 
サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」
 
Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011
 
Spring social の基礎
Spring social の基礎Spring social の基礎
Spring social の基礎
 
OpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix EnvironmentsOpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix Environments
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
 
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
 
Aerospike deep dive migration
Aerospike deep dive migration Aerospike deep dive migration
Aerospike deep dive migration
 
Vespa 機能紹介 #yjmu
Vespa 機能紹介 #yjmuVespa 機能紹介 #yjmu
Vespa 機能紹介 #yjmu
 

Similar to Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904

Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Nozomi Kurihara
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Yahoo!デベロッパーネットワーク
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019MKT-INTHEFOREST
 
メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007Nozomi Kurihara
 
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajpストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajpYahoo!デベロッパーネットワーク
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野livedoor
 
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~aslead
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築Tomo-o Kubo
 
We Should Know About in this SocialNetwork Era 2011_1112
We Should Know About in this SocialNetwork Era 2011_1112We Should Know About in this SocialNetwork Era 2011_1112
We Should Know About in this SocialNetwork Era 2011_1112Masahito Zembutsu
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回Keiji Kamebuchi
 

Similar to Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904 (20)

Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
 
ヤフーを支えるデータセンタネットワーク
ヤフーを支えるデータセンタネットワークヤフーを支えるデータセンタネットワーク
ヤフーを支えるデータセンタネットワーク
 
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
 
メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
 
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajpストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
 
ヤフーの次世代パイプラインについて#yjdsw3
ヤフーの次世代パイプラインについて#yjdsw3ヤフーの次世代パイプラインについて#yjdsw3
ヤフーの次世代パイプラインについて#yjdsw3
 
We Should Know About in this SocialNetwork Era 2011_1112
We Should Know About in this SocialNetwork Era 2011_1112We Should Know About in this SocialNetwork Era 2011_1112
We Should Know About in this SocialNetwork Era 2011_1112
 
Reactor Netty & Apache Kafka Stack #jsug
Reactor Netty & Apache Kafka Stack #jsugReactor Netty & Apache Kafka Stack #jsug
Reactor Netty & Apache Kafka Stack #jsug
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904

  • 1. Apache Pulsarの近況 & meetup 北京の参加報告 ヤフー株式会社 システム統括本部 酒井 宏⾏ 栗原 望 2019/09/04
  • 2. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2 Apache Pulsarの近況
  • 3. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3 ⾃⼰紹介 酒井 宏⾏ 経歴︓ - 2007/04 新卒⼊社 - 2007/06 Yahoo! JAPAN ID全般(ID登録、登録情報、ID連携など) - 2015/07 ヤフオクのBEシステム - 2016/10 「Apache Pulsar」を使った社内向けメッセージングプラットフォーム 最近︓ - ⼦育て - スポーツ観戦
  • 4. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 4 Apache Pulsar Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム • 特徴 • ⾼速 • スケーラブル • デュラブル • マルチテナント • ジオレプリケーション
  • 5. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 5 Apache Pulsar Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム Producer Consumer Broker 1 Broker 2 Broker 3 Bookie 1 Local ZK Bookie 2 Bookie 3 Pulsar Cluster Configuration Store (Global ZK) ■3つのコンポーネント • Broker - serving node • Bookie – storage node • Zookeeper – store metadata and configu ration • 各コンポーネントを独⽴してスケール可能
  • 6. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6 Apache Pulsar Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム • Users • Verizon media (Yahoo! Inc.) • Comcast • Streamlio • Tencent • Zhaopin • China Mobile • Yahoo! JAPAN • etc http://pulsar.apache.org/
  • 7. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7 Apache Pulsar Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム • Releases (計37回) • 2016/09 v1.14 (OSSとして公開) • 2018/05 v2.0 • 2018/10 v2.2 (TLP昇格後の初リリース) • 2019/07 v2.4 • Github • stars: 4,046 • Commits: 3,712 • Contributors: 156
  • 8. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8 Star数の推移 ☆2019/08 4,000件突破
  • 9. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9 Contributor数の推移
  • 10. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 10 Apache Pulsar Yahoo! Inc.(現︓Verizon Media)で開発されたPub-Subメッセージングプラットフォーム • Conferences • 2018/09 ApacheCon North America (2talks) • 12 Apache Pulsar Meetup 上海 • 12 KubeCon North America (booth) • 2019/03 Apache Pulsar × Apache Flink Meetup 杭州 • 05 KubeCon Europe (booth) • 06 KubeCon China (booth) • 06 Apache Pulsar Meetup Palo alto • 08 Apache Pulsar Meetup 北京 • 09 ApacheCon North America (5talks) • 11 KubeCon North America (CFP提出済) • And more
  • 11. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11 新機能
  • 12. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 12 Pulsar-2.0、2.1 • Pulsar Functions • Schema registry • Topic compaction • 2.0 • Release: 2018/05 • Pull requests: 423件 • 2.1 • Release: 2018/08 • Pull requests: 378件 • Pulsar IO – connector framework • Tired Storage • Go client(Based on C++ client library)
  • 13. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Pulsar Functions • V2.0からサポート • ⼊⼒トピックからデータを受け取り、何らかの処理を⾏って出⼒トピックに書き込む • ちょっとした前処理やイベント処理を⼿軽に実現できる Source SinkProducerConsumer Pulsar Function Worker F(x) def process(input): return input + ’!’ exclamation.py hoge hoge! 13
  • 14. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 14 Pulsar-2.2 ~ • V2.2 • Pulsar SQL • Dead Letter Topic • V2.3 • Authentication plugin(token based) • Releases • 2018/10 v2.2 • 2019/02 v2.3 • 2019/07 v2.4 • V2.4 • Key_shared • Replicated subscriptions • Negative ack • Authentication plugin(SASL) • 開発中 • Pure Go client • Node.js client • Pulsar Manager
  • 15. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 15 Pulsar SQL presto> select * from my_topic; • V2.2からサポート • Pulsar Connector for Presto • SQLクエリでメッセージ取得可能 http://pulsar.apache.org/
  • 16. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 16 Dead Letter Topic • V2.2からサポート • 指定回数処理できなかったメッセージをdead letter topicに移動 consumer =pulsarClient.newConsumer(Schema.BYTES) .topic(“persistent://my-tenant/my-ns/default-topic”) .ackTimeout(10, TimeUnit.SECONDS) .subscriptionName(“sub1”) .deadLetterPolicy(DeadLetterPolicy.builder() .maxRedeliverCount(3) .deadLetterTopic("persistent://my-tenant/my-ns/dead-letter-topic") .build()) .subscribe();
  • 17. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 17 Authentication plugins(token based, SASL) • それぞれV2.2、v2.4からサポート • Client – Broker間の認証⽤プラグイン • 2つの認証プラグインが追加 • 今までは実質TLSクライアント認証のプラグインのみ
  • 18. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 18 Key_shared • V2.4からサポート • 4つ⽬のsubscription type(既存︓exclusive、shared、failover) • メッセージの順序を(指定したkey単位で)維持しつつ、複数consumerで 処理可能 consumer =pulsarClient.newConsumer(Schema.BYTES) .topic(“persistent://my-tenant/my-ns/default-topic”) .subscriptionName(“sub1”) .subscriptionType(SubscriptionType.Key_Shared) .subscribe();
  • 19. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 19 Key_shared http://pulsar.apache.org/
  • 20. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 20 Key_shared http://pulsar.apache.org/
  • 21. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 21 Replicated Subscriptions • V2.4からサポート • クラスタ間でsubscriptionの購読位置(cursor)を同期 • Consumerがクラスタをスムーズに切り替え可能 consumer =pulsarClient.newConsumer(Schema.BYTES) .topic(“persistent://my-tenant/my-ns/topic-1”) .subscriptionName(“Sub-A”) .replicateSubscriptionState(true) .subscribe();
  • 22. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 topic-1 重複が発⽣ 22 Replicated Subscriptions データセンターA Consumer データセンターB 12 1 1 432 V2.3以前 4 123 Sub-A Sub-ASub-A メッセージを消費したので cursorが移動 topic-1 同期されない
  • 23. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 topic-1 23 Replicated Subscriptions データセンターA Consumer データセンターB 12 3 1 432 V2.4以降 4 123 Sub-A Sub-ASub-A メッセージを消費したので cursorが移動 Sub-A 他クラスタと同期 topic-1 前クラスタでの購読位置 から購読開始
  • 24. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 24 Negative ack • V2.4からサポート • Negative ackされたメッセージは再送される • 受信メッセージの処理に失敗した場合に利⽤ try { Message msg = consumer.receive(); // Do something } catch (Exception e) { // Failed to process message consumer.negativeAcknowledge(msg); }
  • 25. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 25 Clients Pulsar • Java • C++ • Python • Go • Node.js • WebSocket Kafka • Java • And more (third-pirty) • Pulsarは「WebSocket APIで複数⾔語をカバー」から、 「各⾔語のライブラリを充実」に • Kafkaはサードパーティ製のクライアントが豊富
  • 26. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 26 Pure Go client • 開発中 • https://github.com/apache/pulsar-client-go • Not based on the C++ client library • Go 1.11+ • 2019/03 initial commit • 1年前にC++ client baseのlibraryをリリース
  • 27. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 27 Node.js client • 開発中 • https://github.com/apache/pulsar-client-node • Based on C++ client library • Node 10+ • 2019/03 initial commit // Create a client const client = new Pulsar.Client({ serviceUrl: 'pulsar://localhost:6650', }); // Create a producer const producer = await client.createProducer({ topic: 'persistent://public/default/my-topic', }); // Send a message await producer.send({ data: Buffer.from('Hello World!') });
  • 28. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 28 Pulsar Manager • 開発中 • Vue.js + Java • Web UIからテナントなどの作成、stats閲覧、各種設定が可能
  • 29. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 29 Pulsar Manager
  • 30. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 30 Pulsar Manager
  • 31. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 まとめ 31 まとめ n Apache Pulsar › 機能追加など活発に開発が⾏われている › カンファレンスへの開催 / 参加も活発 › 順調にstar数、contributor数も推移 n ドキュメント、お問い合わせ › ドキュメント : https://pulsar.apache.org › Slack : https://apache-pulsar.slack.com › メール : users@pulsar.apache.org
  • 32. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 32 Pulsar Meetup 北京の参加報告
  • 33. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 33 ⾃⼰紹介 栗原 望 経歴︓ 2012/04 ヤフー株式会社に新卒⼊社 2012/10 ユーザーの属性情報に関連する社内向けプラットフォームの開発 2015/07 ヤフオクのBEシステム再構築 2016/10 「Pulsar」を使った社内向けメッセージングプラットフォームの開発 2017/06~ 「Pulsar」のコミッター 趣味: ぷよぷよ ボードゲームいろいろ
  • 34. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Pulsar Meetup 北京 (2019/08/17) • https://www.huodongxing.com/event/1502359221000 • 参加者: 50名くらい 34
  • 35. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Meetups in China 35
  • 36. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Users in China 36 • 中国ではMQを使っている企業が多い • eコマースが発達し、流れるトランザクションの量が膨⼤ • 以前はRabbitMQを使っているところが多かった • 最近はより⾼いスケーラビリティを求めてKafkaやPulsarが使われている
  • 37. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 KoP (Kafka on Pulsar) • https://github.com/apache/pulsar/wiki/PIP-42%3A-KoP---Kafka-on-Pulsar • Pulsarの上にKafka Protocol Handlerを載せた • Kafka Clientが直接Pulsarに接続できるように 37
  • 38. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Zhaopin in Pulsar community • Pulsarメンバーは2⼈(!) • PulsarをEvent処理に使っている: https://www.slideshare.net/hustlmsp/how- zhaopin-built-its-event-center-using-apache-pulsar • 1⽇あたり平均数百億メッセージ • Key_Sharedサブスクリプションなどで貢献 38
  • 39. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Apache Pulsar at Tencent TEG: use cases and best practices • Tencentでの利⽤例 • 課⾦周りでPulsarを使っている: ⼀貫性、可⽤性、ストレージ容量、レイテンシ • 8 clusters, 600+ topics 39
  • 40. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 まとめ 中国のPulsarコミュニティは予想よりかなり⼤きかった • Tencentなど⼤企業もPulsarを使っている • Contributorも数名来ていた Kafkaは中国でも強い • Kafkaユーザーに簡単に移⾏してもらうためのKoP(Kafka on Pulsar) (料理が美味しかった︕) 40