Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
メルカリのマイクロサービスをPCで動かそう!
Yuki Ito
July 20, 2021
Programming
5
1.5k
メルカリのマイクロサービスをPCで動かそう!
https://mercari.connpass.com/event/217408/
Yuki Ito
July 20, 2021
Tweet
Share
More Decks by Yuki Ito
See All by Yuki Ito
Microservices on Cloud Run @ KAUCHE
110y
0
68
KAUCHE Loves Go
110y
0
190
Evolution of Architecture @ Kauche
110y
3
240
Envoy as an API Gateway
110y
0
110
Microservices on Cloud Run + VPC Network
110y
0
240
How We Use Cloud Run and its Friends
110y
0
220
Custom Kubernetes Controllers at Mercari
110y
1
460
What Is the Go Workspace Mode
110y
4
1.1k
What Are We Doing as Merpay Architect
110y
0
1.3k
Other Decks in Programming
See All in Programming
Remix + Cloudflare Pages + D1 で ポケモン SV のレンタルチームを検索できるアプリを作ってみた
kuroppe1819
4
1.4k
Enumを自動で網羅的にテストしてみた
estie
0
1.4k
なぜRubyコミュニティにコミットするのか?
luccafort
0
320
Glance App Widgetでウィジェットを作ろう / MoT TechTalk #15
mot_techtalk
0
150
10年以上続くプロダクトの フロントエンド刷新プロジェクトのふりかえり
yotahada3
2
360
Unity+C#で学ぶ! メモリレイアウトとvtableのすゝめ 〜動的ポリモーフィズムを実現する仕組み〜
rossam
1
360
良質な技術記事を量産する秘訣 / #MeetsPro
jnchito
16
4.8k
低レイヤーから始める GUI
fadis
18
9.4k
はじめての「R」
masaha03
0
100
ECテックカンファレンス2023
kspace
1
380
TokyoR#103_DataProcessing
kilometer
0
550
tidy_rpart
bk_18
0
610
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
159
12k
How to Ace a Technical Interview
jacobian
270
21k
What’s in a name? Adding method to the madness
productmarketing
12
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
318
19k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
850
Building Adaptive Systems
keathley
27
1.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
32
1.9k
How to train your dragon (web standard)
notwaldorf
66
4.3k
Automating Front-end Workflow
addyosmani
1351
200k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Art, The Web, and Tiny UX
lynnandtonic
284
18k
Transcript
ϝϧΧϦͷϚΠΫϩαʔϏεΛPCͰಈ͔ͦ͏ʂ Backend Hands-on @mrno110
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
͡Ίʹ https://github.com/mercari/go-conference-2021-spring-o ffi ce-hour/ ϦϙδτϦ
͡Ίʹ ɾGo ɾDocker ɾmake ɾjq ඞཁͳπʔϧ
͡Ίʹ ɾWindows ͷ߹ WSL Λར༻͢Δ ɾDocker ͷ Memory Λ 8GBҎ্ʹ͢Δ
ɾarm64 (M1 Mac) CPU ͩͱҰ෦ಈ࡞͠·ͤΜ 🙏 ɾgit clone ޙʹ make cluster Λ࣮ߦ͢Δ
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
Merpay Architect Team Mercari Microservices Platform CI/CD @yuki.ito
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ https://istio.io/latest/docs/ops/deployment/architecture/
ΞʔΩςΫνϟ
ϋϯζΦϯ ϦϙδτϦ https://github.com/mercari/go-conference-2021-spring-o ffi ce-hour/
ϋϯζΦϯ ϦϙδτϦ
ϋϯζΦϯ ϦϙδτϦ Gateway
ϋϯζΦϯ ϦϙδτϦ BFF
ϋϯζΦϯ ϦϙδτϦ Services
ϋϯζΦϯ ϦϙδτϦ
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
ΞδΣϯμ ɾ͡Ίʹ ɾࣗݾհ ɾϝϧΧϦͷΞʔΩςΫνϟͷղઆ ɾϋϯζΦϯ
ϋϯζΦϯ ϚΠΫϩαʔϏεΛ৽ن࡞͠Α͏ʂ ※ը໘ڞ༗Λ͓ئ͍͠·͢
ϋϯζΦϯ ɾΧςΰϦҰཡΛอ࣋͢Δ category αʔϏε > curl -s -XGET -H "authorization:
bearer $TOKEN" localhost:30000/categories { "categories": [ { "id": "9e893b41-65e5-4ab0-94dd-bb7f6cd06da4", "name": "Books" }, { "id": "35c51c6f-7c5b-4bb3-9093-3acce1ccf3e5", "name": "Gadgets" }, { "id": "3d450ed6-94ac-4f34-9f24-1b934735c06c", "name": "Toys" } ] }
ϋϯζΦϯ
ϋϯζΦϯ 1. category ͷ API ఆٛ (proto) 2. category ͷ
gRPC ࣮ 3. category ͷ Deploy (Kubernetes) 4. gateway ͷ API ఆٛ (proto) 5. gateway ͷ࣮