Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
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
13
5.1k
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.3k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
3.2k
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
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
130
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
120
5分で問診!Composer セキュリティ健康診断
codmoninc
0
830
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
520
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
190
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
霧の中の代数的エフェクト
funnyycat
1
460
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
210
テーブルをDELETEした
yuzneri
0
130
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
380
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.4k
How GitHub (no longer) Works
holman
316
150k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
Prompt Engineering for Job Search
mfonobong
0
390
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
Mind Mapping
helmedeiros
PRO
1
300
Making Projects Easy
brettharned
120
6.7k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
250
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
230
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