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.6k
What Are We Doing as Merpay Architect
Yuki Ito
December 14, 2021
Tweet
Share
More Decks by Yuki Ito
See All by Yuki Ito
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
760
Modular Monolith + Go @ newmo
110y
1
850
Go + GraphQL @ newmo
110y
3
630
Architect / Platform Team at KAUCHE
110y
1
510
Cloud Run + Observability / Reliability @ KAUCHE
110y
0
480
Cloud Run CI/CD + QA @ KAUCHE
110y
1
540
Microservices on Cloud Run @ KAUCHE
110y
0
180
KAUCHE Loves Go
110y
0
430
Evolution of Architecture @ Kauche
110y
3
490
Other Decks in Programming
See All in Programming
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
370
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
return文におけるstd::moveについて
onihusube
1
900
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
14 Years of iOS: Lessons and Key Points
seyfoyun
1
770
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
700
Security_for_introducing_eBPF
kentatada
0
110
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
270
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Code Review Best Practice
trishagee
65
17k
Designing for humans not robots
tammielis
250
25k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
GraphQLとの向き合い方2022年版
quramy
44
13k
Docker and Python
trallard
42
3.1k
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