Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Comparison between Golang microservices frameworks
Search
y_matsuwitter
April 23, 2016
Programming
1.9k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Comparison between Golang microservices frameworks
GoCon 2016 Springにて
y_matsuwitter
April 23, 2016
More Decks by y_matsuwitter
See All by y_matsuwitter
LLMと共に進化するプロセスを目指して
ymatsuwitter
14
5.6k
Building Products in the LLM Era
ymatsuwitter
11
13k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3.5k
経営・意思・エンジニアリング
ymatsuwitter
23
22k
LLM in 2023 and 2024
ymatsuwitter
8
6.4k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
3.3k
LLM in toB Service and Its UX
ymatsuwitter
7
12k
Agent and small LLM validation
ymatsuwitter
7
3.1k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
11k
Other Decks in Programming
See All in Programming
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
150
Java 27新機能 / Java 27 new features
kishida
2
200
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
350
ジョジョの世界をXRで再現する
mofurune
0
130
R8 の設定見直しでアプリサイズ削減
andpad
0
170
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
110
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
Everyday Curiosity
cassininazir
0
340
From π to Pie charts
rasagy
1
390
Statistics for Hackers
jakevdp
799
230k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Building Adaptive Systems
keathley
44
3.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
How STYLIGHT went responsive
nonsquared
100
6.3k
Navigating Weather and Climate Data
rabernat
0
550
Transcript
GoのマイクロサービスFWについて tracerの観点から⽐比較する Gunosy Inc. 2016.03 @y_̲matsuwitter
2 ©Gunosy Inc. ⾃自⼰己紹介 n Gunosy Inc. – 開発本部執⾏行行役員 n
業務 – 開発全般のマネジメント – Go⾔言語布教係 – パフォーマンスチューニング – ISUCONとか好きです n 担当 – 右⼿手でiOS、左⼿手でAndroid – Web – Infrastructure(AWSのみ) n 最近の興味 – HTC Viveに感動した 松本 勇気 @y_̲matsuwitter
3 ©Gunosy Inc.
4 ©Gunosy Inc. 今⽇日の話 n マイクロサービスフレームワークを知る n kit, gizmo, micro
n Tracerの観点から n 最後に Go⾔言語のマイクロサービスフレームワークの紹介
5 ©Gunosy Inc. マイクロサービスフレームワークを知る Microservices FWに触れることで必須な要素を知ることができる n 運⽤用にはモノリシックと⽐比べてより複雑な考 え⽅方が必要 –
ログ収集 – サービスディスカバリ – ロード・バランシング – プロトコル – メトリクス管理理 – APIクライアント提供 – …etc n 現状のチームではAWSに頼りつつ、こうした 機能をまかなっている状況 単にRPCでつなぐだけがマイクロサービスではない。 API Gateway Auth Content Log
6 ©Gunosy Inc. GoでのMicroserviceフレームワーク go-‐‑‒kit/kit gizmo micro n 3854star n
他⾔言語との協調も睨み つつ、⼤大規模な micorserviceの運⽤用を サポート n Pluggableで多くのプ ロトコルをサポート n Pub/subなどはサポー トしていない n 1345star n NYタイムズが開発元 n Config, service, pubsubの3つを提供 n 軽量量、基本的な機能以 外はミドルウェアを通 じて実装する n 多数のrepoに分割 n microservicesに必要 な多くの機能をmicro ⾃自⾝身で開発している n 最もfullstackなFW n Go以外の⾔言語との協調 n Dockerによる動作環境 なども提供している Go⾔言語でのmicroservicesフレームワークはその他にもKiteなど登場 go-‐‑‒kit, gizmo, microの3つを⾒見見てみた
7 ©Gunosy Inc. Tracerに⾒見見る各フレームワークの考え⽅方 n Tracing packageにて 提供 n 基本機能はZipkinへの
tracingパラメタ送信 n ⾃自⾝身で定義したService を、zipkin packageに annotation付けてもら う形式 kit n Tracer機能は持たない n Readmeによれば、 middlewareとして⾃自⾝身 で作成・追加するとの こと n 軽量量なライブラリであ ることがわかる gizmo n Micro⾃自⾝身がtrace-‐‑‒srv を持ち各サービスから 投げる n 各サービスはgo-‐‑‒ platform/traceという ⼦子パッケージを利利⽤用 n KafkaなどのBrokerを 間で利利⽤用する n “Full-‐‑‒stack!!!” micro フレームワークごとに⽤用意しているレイヤーが異異なっている Tracer = 障害発⽣生時にどういった経路路のアクセスがあったか追跡するもの
8 ©Gunosy Inc. 最後に GoのMicroservicesフレームワークからエッセンスを汲み取ろう Microservicesは銀の弾丸ではない、モノリシックとの間で悩もう Microservicesにおいて考えること グノシーでのmicroservicesの現状 n 複雑なサービス依存を管理理する⽅方法
– 多くのGo製フレームワークから 学ぶことができる n 本当にサービスを分割するべきか – 登場するドメインが少ないシステ ムでモノリシックから移⾏行行する必 要はない n 多数のシステムから単⼀一のデータを触 る際の拘束具としてのサービス分割 n Opsworksの運⽤用が確⽴立立しているゆえ の⼤大量量のサービス管理理 n より適切切な解を模索索している
9 ©Gunosy Inc. Gunosyでは、新規サービス⽴立立ち上げで microservicesに挑戦したい! そんなエンジニアを募集しています!
10 ©Gunosy Inc. 参考資料料 各フレームワークについて https://github.com/micro https://github.com/go-‐kit https://github.com/NYTimes/gizmo