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.7k
Building Products in the LLM Era
ymatsuwitter
11
14k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3.6k
経営・意思・エンジニアリング
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.2k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
11k
Other Decks in Programming
See All in Programming
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
230
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.6k
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
330
LLM 101
dalinaum
0
470
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
170
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
150
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
300
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
310
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
ActionController meets Protocol Buffers
sorah
1
780
Next.js: The final boss of Web Performance
guaca
0
380
Seven New Principles of Software Engineering
yegor256
0
450
Featured
See All Featured
Visualization
eitanlees
153
17k
Automating Front-end Workflow
addyosmani
1370
210k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Fireside Chat
paigeccino
43
4.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Deep Space Network (abreviated)
tonyrice
0
410
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
New Earth Scene 8
popppiees
4
2.8k
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