SlideShare a Scribd company logo
Enviar pesquisa
Carregar
Entrar
Cadastre-se
Apache EventMesh を使ってみた
Denunciar
Yoshiyasu SAEKI
Seguir
Support engineer em Microsoft
13 de May de 2023
•
0 gostou
•
85 visualizações
1
de
27
Apache EventMesh を使ってみた
13 de May de 2023
•
0 gostou
•
85 visualizações
Baixar agora
Baixar para ler offline
Denunciar
Tecnologia
イベントドリブン Meetup 第 1 回 https://connpass.com/event/281090/ 発表資料
Yoshiyasu SAEKI
Seguir
Support engineer em Microsoft
Recomendados
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou
Hiromichi Koga
1.1K visualizações
•
115 slides
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
1.9K visualizações
•
73 slides
複数アプリケーションのプロセスとログを管理するための新しいツールと手法
Masaki Yatsu
311 visualizações
•
30 slides
Community_Update_JP
Go Chiba
1K visualizações
•
19 slides
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
NTT DATA Technology & Innovation
1.1K visualizações
•
22 slides
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
6.1K visualizações
•
32 slides
Mais conteúdo relacionado
Similar a Apache EventMesh を使ってみた
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
Rescale Japan株式会社
1.7K visualizações
•
36 slides
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
NTT DATA Technology & Innovation
968 visualizações
•
69 slides
恐るべきApache, Web勉強会@福岡
Aya Komuro
2.5K visualizações
•
16 slides
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
2.2K visualizações
•
68 slides
OpenShift v3 Technical Overview
Nakayama Kenjiro
4.3K visualizações
•
45 slides
Awsでつくるapache kafkaといろんな悩み
Keigo Suda
6.2K visualizações
•
34 slides
Similar a Apache EventMesh を使ってみた
(20)
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
Rescale Japan株式会社
•
1.7K visualizações
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
NTT DATA Technology & Innovation
•
968 visualizações
恐るべきApache, Web勉強会@福岡
Aya Komuro
•
2.5K visualizações
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
•
2.2K visualizações
OpenShift v3 Technical Overview
Nakayama Kenjiro
•
4.3K visualizações
Awsでつくるapache kafkaといろんな悩み
Keigo Suda
•
6.2K visualizações
PHP カンファレンス福岡 参加報告
y-uti
•
1.2K visualizações
OpenContrailのソースコードを探検しよう!
Takashi Sogabe
•
4.9K visualizações
Windows Azure PHP Tips
Microsoft Openness Japan
•
662 visualizações
FIWARE Real-Time Media Stream processing using Kurento
fisuda
•
1.1K visualizações
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
•
14.8K visualizações
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
NTT DATA Technology & Innovation
•
449 visualizações
20130315 abc firefox_os
Tomoaki Konno
•
2.2K visualizações
これからのアプリ開発はIPv6対応で行こう!(2014/09/20 OSC Hiroshima版)
v6app
•
3K visualizações
Azure <3 Openness
Keiji Kamebuchi
•
2.2K visualizações
"OPEN NETWORKING" に向けた Management / Data Plane の動向
Kentaro Ebisawa
•
3.5K visualizações
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
•
676 visualizações
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
NTT DATA Technology & Innovation
•
193 visualizações
Webrtc bootcamp handson
mganeko
•
1.5K visualizações
runC概要と使い方
Yuji Oshima
•
4.4K visualizações
Mais de Yoshiyasu SAEKI
StackStormを1年間データ基盤で使ってみてぶつかったトラブルとその解決策の共有
Yoshiyasu SAEKI
1.3K visualizações
•
16 slides
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
3.9K visualizações
•
24 slides
データの民主化のために StackStorm を活用した事例
Yoshiyasu SAEKI
3.8K visualizações
•
26 slides
Apache Kafkaとグラフデータベースによる成長するネットワークグラフを分析・可視化する基盤
Yoshiyasu SAEKI
1.7K visualizações
•
24 slides
Apache Kafka 0.11 の Exactly Once Semantics
Yoshiyasu SAEKI
6.1K visualizações
•
25 slides
ストリーミングデータのアドホック分析エンジンの比較
Yoshiyasu SAEKI
1.7K visualizações
•
54 slides
Mais de Yoshiyasu SAEKI
(12)
StackStormを1年間データ基盤で使ってみてぶつかったトラブルとその解決策の共有
Yoshiyasu SAEKI
•
1.3K visualizações
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
•
3.9K visualizações
データの民主化のために StackStorm を活用した事例
Yoshiyasu SAEKI
•
3.8K visualizações
Apache Kafkaとグラフデータベースによる成長するネットワークグラフを分析・可視化する基盤
Yoshiyasu SAEKI
•
1.7K visualizações
Apache Kafka 0.11 の Exactly Once Semantics
Yoshiyasu SAEKI
•
6.1K visualizações
ストリーミングデータのアドホック分析エンジンの比較
Yoshiyasu SAEKI
•
1.7K visualizações
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Yoshiyasu SAEKI
•
9.5K visualizações
Queryable State for Kafka Streamsを使ってみた
Yoshiyasu SAEKI
•
1.7K visualizações
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
•
40K visualizações
Spark Streamingによるリアルタイムユーザ属性推定
Yoshiyasu SAEKI
•
1.9K visualizações
Voldemortの紹介
Yoshiyasu SAEKI
•
686 visualizações
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
•
14.6K visualizações
Último
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
170 visualizações
•
16 slides
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
149 visualizações
•
12 slides
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
7 visualizações
•
1 slide
画像生成AIの問題点
iPride Co., Ltd.
13 visualizações
•
9 slides
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
11 visualizações
•
24 slides
GraphQLはどんな時に使うか
Yutaka Tachibana
17 visualizações
•
37 slides
Último
(13)
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
170 visualizações
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
149 visualizações
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 visualizações
画像生成AIの問題点
iPride Co., Ltd.
•
13 visualizações
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
11 visualizações
GraphQLはどんな時に使うか
Yutaka Tachibana
•
17 visualizações
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
28 visualizações
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
125 visualizações
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
45 visualizações
CatBoost on GPU のひみつ
Takuji Tahara
•
780 visualizações
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 visualizações
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
69 visualizações
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
6 visualizações
Apache EventMesh を使ってみた
1.
Apache EventMesh を使ってみた 株式会社クリエーションライン /
イベントドリブン Meetup 第 1 回 佐伯嘉康 / @laclefyoshi 1
2.
自己紹介 / 佐伯嘉康
/ SAEKI Yoshiyasu ● Yahoo! Japan 在籍時から、ストリーミング処理フレームワークに興味を 持ち、Apache Kafka や Apache Storm、Apache Spark 等の知見を 持つ ● リクルート在籍時データ ETL・分析基盤の開発 ○ GCP イベントにて発表(2020-03; COVID-19 前最後の登壇..) ○ https://speakerdeck.com/rtechkouhou/gcpdegou-zhu-suru-korekarafalsebian- hua-nidui-ying-chu-lai-rudetafen-xi-ji-pan-falsezuo-rifang ● 今日が COVID-19 後最初の勉強会登壇です(3 年ぶり!) 2
3.
目次 / 話すこと ●
イベントドリブン ● イベントメッシュ ● Apache EventMesh ● まとめ 3
4.
Ice break: オライリーの
Twitter 懸賞 ● Twitter のオライリー・ジャパンのアカウント: @oreilly_japan ● 時々新刊の懸賞をやっている ○ 応募はリツイートするだけなので楽 ○ たいてい 3 名当選なので倍率は高い ○ 期限があるのでハズれたかが分かる 4
5.
Ice break: オライリーの
Twitter 懸賞 ● 「マイクロサービスアーキテクチャ 第 2 版」当選! 5
6.
イベントドリブン(駆動) ● 「マイクロサービスアーキテクチャ 第
2 版」 ○ P.113-121 ○ 4.8 パターン: イベント駆動通信 あるマイクロサービスが、他のマイクロサービスに何らかの処理を求めるのではなく、イベントを 発行します。他の複数のマイクロサービスが、そのイベントを受信する場合もあれば、受信しな い場合もあります。複数のイベントリスナは、それぞれ独自のスレッド上で実行されるので、これ は本質的に非同期の対話になります。 6
7.
イベントドリブンのアーキテクチャ ● Publisher(Producer): パブリッシャ ●
Subscriber(Consumer): サブスクライバ ● Broker: ブローカ ● Event → Message Publisher Subscriber Broker Storage M Event E S S A G E 7
8.
イベントドリブンのメリット / デメリット ●
メリット ○ 情報をブロードキャストする場合 ○ 限りなく疎結合 ○ スケーラブル ● デメリット ○ イベントドリブンでない場合に比べて複雑になりがち ○ イベントドリブン ↔ リクエスト・レスポンス(同期) ○ すべてをイベントドリブンで解決できないかもしれない 8
9.
導入(余談): XXメッシュ 流行ってます 意味合いとしては.. 各部品は独立して動き(各自で責任を持ち)、 それら部品を組み合わせて使う際にインフラ層/通信層を設置し、 接続・監視・制御を柔軟に行うためのアーキテクチャ Service Mesh SQLMesh Data
Mesh 9
10.
イベントドリブンにおけるイベントメッシュ ● イベントドリブンはもともと、イベント発行側と受信側が独立して動いている ○ そのアーキテクチャを支えるのがブローカ ○
イベント発行側と受信側がブローカの存在を認識する必要 ■ もっと独立しながら連携するために足りないものは何か ● ブローカ同士を接続し、より組み合わせを柔軟にする ○ XXメッシュの定義にならい、接続・監視・制御を容易にする 10
11.
イベントドリブンにおけるイベントメッシュ ● イベントメッシュにより、イベント発行側と受信側がブローカーの 位置を意識する必要がなくなる ○ あるイベント発行は
[ブローカ A] 宛に実施されている ○ 受信側は [ブローカ B] からイベントを購読している ○ イベントメッシュにより [ブローカ A] と [ブローカ B] を繋ぐ ■ 単純にミラーリングするのではなく、ルーティングするイベントを 条件制御できると良い 11
12.
イベントドリブンにおけるイベントメッシュ 12 Publisher Subscriber Broker A Broker B Subscriber
13.
イベントドリブンにおけるイベントメッシュ ● 実装としてはいくつか ○ Solace
Event Mesh ○ SAP Event Mesh ○ Knative Event Mesh ○ Apache EventMesh 13
14.
Apache EventMesh https://eventmesh.apache.org/ ● ブローカ機能 ●
ブローカ同士を繋ぐ機能(Source/Sink Connector) ● サーバレスワークフロー(イベント処理)機能 ● セキュリティ、監視、メトリック、etc. 14
15.
Apache EventMesh に関する情報 ●
Born at China’s WeBank, now incubating in the ASF: Introducing Apache EventMesh(2021-06-29) ○ https://thestack.technology/apache-event-mesh/ ● EventMesh: Event-Driven Distributed Application Runtime (2021-08-07) ○ https://apachecon.com/acasia2021/sessions/1154.html ● THE APACHE SOFTWARE FOUNDATION ANNOUNCES NEW TOP-LEVEL PROJECT APACHE® EVENTMESH(2023-03-23) ○ https://news.apache.org/foundation/entry/the-apache-software-foundation-an nounces-new-top-level-project-apache-eventmesh 15
16.
Apache EventMesh /
ブローカー ● メッセージの伝達・保管を担う ● CloudEvents 仕様に準拠した API ○ CNCF によって策定されているクラウドネイティブ環境における標準 のメッセージのやり取りのための仕様 ○ + CloudEvents Bindings for other messaging protocols ● その他のインタフェースに gRPC、HTTP 16
17.
Apache EventMesh /
繋ぐ ● Connector ○ Source はメッセージを Apache EvenetMesh が取り出す所 ○ Sink はメッセージを Apache EventMesh が送る所 ● Apache Kafka や Apache Pulsar、Redis 等他のブローカ実装 ● RDB(with JDBC) ● その他(Web)サービスとの連携も実装次第では可能 17
18.
Apache EventMesh /
イベントメッシュ 18 Publisher Subscriber Broker A Broker B Subscriber
19.
Apache EventMesh /
イベントメッシュ 19 Broker Apache Kafka Publisher Subscriber Broker Apache Pulsar Subscriber
20.
Apache EventMesh /
サーバレスワークフロー ● AsyncAPI で定義した内容を元に Publisher/Subscriber を生成 ● 内蔵している CNCF Serverless Workflow で上記定義に従ったメッ セージの伝達を実行する 20
21.
Apache EventMesh /
その他機能 ● セキュリティ ○ パスワード、ACL 等 ● 監視 ○ トレーシング(Tracing): Jaeger、Zipkin 等と連携 ● メトリック ○ Prometheus 等と連携 ● ストレージ(EventStore? Sink Connector とは別) ○ Sink Connector はビジネスロジックを組み込めるが、ストレージは 書き出すだけ 21
22.
Apache EventMesh /
開発状況 ● 最新版は v 1.8.0(2023-01-28 リリース) ○ https://eventmesh.apache.org/download ○ incubating 抜けてからのリリースはまだ ● Docker Hub には v 1.4.0 まである(1 年前のバージョン..) ○ https://hub.docker.com/r/eventmesh/eventmesh/tags 22
23.
Apache EventMesh /
使ってみた ● Getting Started が雑です.. ○ https://eventmesh.apache.org/docs/instruction/runtime ○ 例: “64-bit JDK 1.8+;” って書いてありますが、 正確には 1.8.x の意味です(1.9 とかでコンパイルできません) ○ 例: eventmesh.properties に何書けばいいの.. ■ 答: 例 eventMesh.server.http.port=10105 eventMesh.server.tcp.port=10000 eventMesh.server.grpc.port=10205 eventMesh.server.idc=DEFAULT eventMesh.server.env=DEV eventMesh.server.cluster=COMMON eventMesh.server.name=EVENTMESH-runtime eventMesh.sysid=0000 eventMesh.connector.plugin.type=standalone eventMesh.security.plugin.type=acl eventMesh.registry.plugin.type=etcd eventMesh.trace.plugin=jaeger 23
24.
Apache EventMesh /
使ってみた ● ノウハウ: とりあえず起動スクリプト等を頼りに動かしてみて、起動失敗し たときに出るスタックトレースから、ソースコードを読んで必要な設定を追 加する ● 結果 ↓ eventmesh/eventmesh:v1.4.0 0.0.0.0:10000->10000/tcp, :::10000->10000/tcp, 0.0.0.0:10105->10105/tcp, :::10105->10105/tcp rocketmqinc/rocketmq-broker:4.5.0-alpine 0.0.0.0:10909->10909/tcp, :::10909->10909/tcp, 0.0.0.0:10911->10911/tcp, :::10911->10911/tcp, 10912/tcp rocketmqinc/rocketmq-namesrv:4.5.0-alpine 0.0.0.0:9876->9876/tcp, :::9876->9876/tcp 24
25.
Apache EventMesh /
使ってみた ● Github リポジトリに eventmesh-examples があり、そこに Publisher/Subscriber の実装がある ○ https://github.com/apache/eventmesh/tree/master/event mesh-examples ○ gRPC、HTTP 等 ● 結果: (省略。こんな感じの出力が出れば成功です) 25 (response={"retCode":0,"retMsg":"successSendResult[topic=TEST-TOPIC-HTTP-ASYNC, messageId=67]","resTime":1673871722530})
26.
Apache EventMesh 26 https://eventmesh.apache.org/
27.
まとめ ● イベントドリブン ○ イベントのやり取りを軸にした疎結合アーキテクチャ ●
イベントメッシュ ○ コンポーネントを接続しイベントをルーティングする ● Apache EventMesh ○ 主要なコンポーネントを押さえ、デザインはイケている ○ もうちょっとドキュメント頑張って(ここで言ってもしょうがない) 27