SlideShare a Scribd company logo
1 of 21
Download to read offline
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ヤフー株式会社 テクノロジーグループシステム統括本部クラウドプラット
フォーム本部 技術3部 藤社陽実
OpenWhiskのMQをKafkaからPulsarに
変えてみた件
2019年9⽉4⽇
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
2
⾃⼰紹介
名前:藤社陽実
2017/7以前:ゲーム会社〜
SIerを経験
2017/7〜︓ヤフー株式会社に
⼊社 FaaSを扱う部署に配属
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
アジェンダ
3
• Apache OpenWhiskとは
• KafkaからPulsarに変えてみた件
• 変えてみた結果どうだった︖
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Apache OpenWhiskとは
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Apache OpenWhiskとは
5
• 分散型サーバレスクラウドプラットフォーム
• イベントドリブン型のプログラミングサービス
• 任意の⾔語でFunctionを書くことができる
• https://github.com/apache/openwhisk/
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Apache OpenWhiskの構成
6
Apache OpenWhiskの構成を説明します。
Controller・・・イベントの受信
Invoker・・・処理の実⾏
転載元:https://github.com/apache/openwhisk/
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Apache OpenWhiskの構成
7
Controller・・・イベントの受信
Invoker・・・処理の実⾏
変えてみたのは
ここ
転載元:https://github.com/apache/openwhisk/
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
KafkaからPulsarに変えてみた件
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
前提について
9
• 社内ではPulsarを中央管理しているチームがいる
• MQに対する知⾒があまりない
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
課題について
10
• Kafkaの管理が⼤変だった
• 開発業務に集中したい
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
参考にした資料
11
• 「Pulsar adaptor for Apache Kafka」を元に進めていく
• https://pulsar.apache.org/docs/en/adaptors-kafka
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
参考にした項⽬
12
• Using the Pulsar Kafka compatibility
wrapper
• Producer example
• Compatibility matrix
• Pulsar client properties
• Pulsar producer properties
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
調べてみた
13
• 簡単に差し替えはできないか︖
Ø Pulsar-client-kafkaをビルドの依存に追加するだけ
でPulsarに差し替えられそうだった
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
調べてみた
14
• Openwhiskで呼ばれているメソッドで⾮サポートのもの
がないか︖
OpenWhiskで使っているメソッド Supported
void subscribe(Collection<String> topics) Yes
void wakeup() No
void close() Yes
OpenWhiskで使っているメソッド Supported
Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback) Yes
void close() Yes
Producer
Consumer
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
調べてみた
15
• Produceする時のパラメータで差し替えが必要なのか︖
Ø URLをトピック名に差し替える
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
調べてみた
16
• 挙動の差異はないか︖
Ø Pulsarはトピックを⾃動で作成する
Ø namespaceごとに設定を⾏うためトピックごとに
指定して作成することがない
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
調べてみた
17
• 設定に差異があったりしないか︖
Ø Kafkaのオプションは⼀部不要なものもあったが無視
されるので問題はなし
Ø pulsar-client-kafkaで必要なオプションはなかった
Producer/Consumer Config property Supported
Producer request.timeout.ms Ignored
metadata.max.age.ms Ignored
Consumer session.timeout.ms Ignored
heartbeat.interval.ms Ignored
enable.auto.commit Yes
auto.offset.reset Yes
max.poll.interval.ms Ignored
fetch.max.wait.ms Ignored
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
試した結果
18
• ビルドの依存にpulsar-client-kafkaを追加する
• KafkaのURLをトピック名に差し替える
• wakeupを呼ぶのをやめる
• コード内でトピックの⽣成をやめる
• Pulsarのオプションの追加は不要だった
実際に軽微な修正で移⾏ができた。
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
変えてみた結果どうだった︖
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
変えてみた結果どうだった︖
20
• KafkaからPulsarに簡単に変更ができた
• Pulsarに切り替えてもKafkaと遜⾊はなかった
補⾜
• ScalaやJavaを使っていればKafkaから別なMQへの乗り
換えはAdaptorを実装すれば簡単にできる
• ⾃分たちが管理しているコンポーネントが減って運⽤が
楽になった
Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ご清聴ありがとうございました

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

OpenWhiskのMQをKafkaからPulsarに 変えてみた件 @PulsarMeetupJapan_20190904

  • 1. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ヤフー株式会社 テクノロジーグループシステム統括本部クラウドプラット フォーム本部 技術3部 藤社陽実 OpenWhiskのMQをKafkaからPulsarに 変えてみた件 2019年9⽉4⽇
  • 2. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 2 ⾃⼰紹介 名前:藤社陽実 2017/7以前:ゲーム会社〜 SIerを経験 2017/7〜︓ヤフー株式会社に ⼊社 FaaSを扱う部署に配属
  • 3. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. アジェンダ 3 • Apache OpenWhiskとは • KafkaからPulsarに変えてみた件 • 変えてみた結果どうだった︖
  • 4. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Apache OpenWhiskとは
  • 5. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Apache OpenWhiskとは 5 • 分散型サーバレスクラウドプラットフォーム • イベントドリブン型のプログラミングサービス • 任意の⾔語でFunctionを書くことができる • https://github.com/apache/openwhisk/
  • 6. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Apache OpenWhiskの構成 6 Apache OpenWhiskの構成を説明します。 Controller・・・イベントの受信 Invoker・・・処理の実⾏ 転載元:https://github.com/apache/openwhisk/
  • 7. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Apache OpenWhiskの構成 7 Controller・・・イベントの受信 Invoker・・・処理の実⾏ 変えてみたのは ここ 転載元:https://github.com/apache/openwhisk/
  • 8. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. KafkaからPulsarに変えてみた件
  • 9. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 前提について 9 • 社内ではPulsarを中央管理しているチームがいる • MQに対する知⾒があまりない
  • 10. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 課題について 10 • Kafkaの管理が⼤変だった • 開発業務に集中したい
  • 11. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 参考にした資料 11 • 「Pulsar adaptor for Apache Kafka」を元に進めていく • https://pulsar.apache.org/docs/en/adaptors-kafka
  • 12. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 参考にした項⽬ 12 • Using the Pulsar Kafka compatibility wrapper • Producer example • Compatibility matrix • Pulsar client properties • Pulsar producer properties
  • 13. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 調べてみた 13 • 簡単に差し替えはできないか︖ Ø Pulsar-client-kafkaをビルドの依存に追加するだけ でPulsarに差し替えられそうだった
  • 14. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 調べてみた 14 • Openwhiskで呼ばれているメソッドで⾮サポートのもの がないか︖ OpenWhiskで使っているメソッド Supported void subscribe(Collection<String> topics) Yes void wakeup() No void close() Yes OpenWhiskで使っているメソッド Supported Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback) Yes void close() Yes Producer Consumer
  • 15. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 調べてみた 15 • Produceする時のパラメータで差し替えが必要なのか︖ Ø URLをトピック名に差し替える
  • 16. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 調べてみた 16 • 挙動の差異はないか︖ Ø Pulsarはトピックを⾃動で作成する Ø namespaceごとに設定を⾏うためトピックごとに 指定して作成することがない
  • 17. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 調べてみた 17 • 設定に差異があったりしないか︖ Ø Kafkaのオプションは⼀部不要なものもあったが無視 されるので問題はなし Ø pulsar-client-kafkaで必要なオプションはなかった Producer/Consumer Config property Supported Producer request.timeout.ms Ignored metadata.max.age.ms Ignored Consumer session.timeout.ms Ignored heartbeat.interval.ms Ignored enable.auto.commit Yes auto.offset.reset Yes max.poll.interval.ms Ignored fetch.max.wait.ms Ignored
  • 18. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 試した結果 18 • ビルドの依存にpulsar-client-kafkaを追加する • KafkaのURLをトピック名に差し替える • wakeupを呼ぶのをやめる • コード内でトピックの⽣成をやめる • Pulsarのオプションの追加は不要だった 実際に軽微な修正で移⾏ができた。
  • 19. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 変えてみた結果どうだった︖
  • 20. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 変えてみた結果どうだった︖ 20 • KafkaからPulsarに簡単に変更ができた • Pulsarに切り替えてもKafkaと遜⾊はなかった 補⾜ • ScalaやJavaを使っていればKafkaから別なMQへの乗り 換えはAdaptorを実装すれば簡単にできる • ⾃分たちが管理しているコンポーネントが減って運⽤が 楽になった
  • 21. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ご清聴ありがとうございました