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
What Are We Doing as Merpay Architect
Search
Yuki Ito
December 14, 2021
Programming
0
1.7k
What Are We Doing as Merpay Architect
Yuki Ito
December 14, 2021
Tweet
Share
More Decks by Yuki Ito
See All by Yuki Ito
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
2.4k
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
960
Modular Monolith + Go @ newmo
110y
1
1k
Go + GraphQL @ newmo
110y
3
760
Architect / Platform Team at KAUCHE
110y
1
560
Cloud Run + Observability / Reliability @ KAUCHE
110y
0
550
Cloud Run CI/CD + QA @ KAUCHE
110y
1
590
Microservices on Cloud Run @ KAUCHE
110y
0
230
KAUCHE Loves Go
110y
0
460
Other Decks in Programming
See All in Programming
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
150
Efficiency and Rock 'n’ Roll (Really!)
hollycummins
0
620
Zennの運営完全に理解した #完全に理解したTalk
wadayusuke
1
150
バリデーションライブラリ徹底比較
nayuta999999
1
480
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
250
AI Coding Agent Enablement in TypeScript
yukukotani
17
7.4k
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
590
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
240
抽象データ型について学んだ
ryounasso
0
210
複数アプリケーションを育てていくための共通化戦略
irof
7
3k
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
640
Doma で目指す ORM 最適解
nakamura_to
1
160
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
Being A Developer After 40
akosma
91
590k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.3k
Unsuck your backbone
ammeep
671
58k
Music & Morning Musume
bryan
47
6.6k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Code Review Best Practice
trishagee
68
18k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Transcript
What Are We Doing as Merpay Architect? Yuki Ito (@mrno110)
Merpay / Mercoin Architect Mercari Microservices Platform CI/CD Yuki Ito
@mrno110
Agenda ɾArchitectur e ɾ׆ಈ༰
Agenda ɾArchitecture ɾ׆ಈ༰
Microservices Cloud Spanner Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Architecture Cloud Spanner QR Payment Service XXX Service ZZZ Service
YYY iD Payment Gateway Authority ɾɾɾ
Go Cloud Spanner QR Payment Service XXX Service ZZZ Service
YYY iD Payment Gateway Authority ɾɾɾ
gRPC Cloud Spanner QR Payment Service XXX Service ZZZ Service
YYY iD Payment Gateway Authority ɾɾɾ
Google Cloud Platform Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Kubernetes Cloud Spanner Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Istio Cloud Spanner Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Agenda ɾArchitecture ɾ׆ಈ༰
Agenda ɾArchitectur e ɾ׆ಈ༰
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ Gateway
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ BFF
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ Services
ٕज़తͳҙࢥܾఆ mercari / mercari-microservices-example
ٕज़తͳҙࢥܾఆ e.g. ΧϯύχʔؒͷγεςϜ࿈ܞํ Merpay Mercoin
ٕज़తͳҙࢥܾఆ 🧑💻 Architect 🙋 Exec (ܦӦ) 🙋 ϦʔΨϧ 🙋 ϦεΫཧ
🙋 ίϯϓϥΠΞϯε 🙋 Identity Platform 🙋 SRE 🙋 Product Engineer 🙋 ηΩϡϦςΟ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ 🧑💻 Architect 😢 QA 😢 Developer ώΞϦϯά
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ
৫తͳ՝ͷநग़ɾղܾ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ 🧑💻 Architect 😄 QA 😄 Developer ಋೖࢧԉ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
Design Doc ͷϨϏϡʔ Design Doc ͷ༰ ɾΞʔΩςΫνϟ ɾೝূɾೝՄ ɾσʔλ (Database,
PII ) ɾґଘαʔϏε ɾηΩϡϦςΟ ...
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
Design Doc ͷϨϏϡʔ 📝 Design Doc 🧑💻 Architect 🧑💻 Security
🧑💻 SRE 🧑💻 Security
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
API Gateway ͷ։ൃ Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
API Gateway ͷ։ൃ Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
API Gateway Pattern https://docs.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/direct-client-to- microservice-communication-versus-the-api-gateway-pattern
API Gateway Pattern ɾAuthentication / Authorizatio n ɾDomain / IP
Managemen t ɾTLS Terminatio n ɾData Format Transcodin g etc... Microservice ʹڞ௨͢Δͷղܾ
API Gateway ͷ։ൃ Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
API Gateway ͷ։ൃ CDN Cloud Load Balancer (Ingress) API Gateway
Server
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
ٕज़ͷඪ४Խɾಋೖࢧԉ e.g. Istio ͷಋೖ Cloud Spanner Cloud Spanner Cloud Spanner
Cloud Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
ٕज़ͷඪ४Խɾಋೖࢧԉ e.g. Istio ͷಋೖ 🧑💻 Architect 🧑💻 Microservice Platform 🧑💻
Developer
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
Vision ࣄۀΛࢧ͑ಘΔγʔϜϨεͰ৴པੑͷߴ͍ ΞʔΩςΫνϟΛઃܭ͠ɺೳಈతʹΤϯδχΞϦϯάΛઌಋ͢Δɻ
Vision
એ 1 https://gihyo.jp/book/2022/978-4-297-12519-6
એ 2 https://meety.net/matches/CbIudcYbsTNu