Mercari

Công ty Dành cho thành viên
Bài đọc thử: 1/3 · còn 2 bài miễn phí · Xem gói thành viên

Mạch tiến hoá

PaymentService của Merpay (2019) giữ nhất quán thanh toán qua nhiều service bằng cách tự làm ở tầng ứng dụng: chia pha + state machine, idempotency key bắt buộc, bù trừ kiểu TCC, đối soát và fault injection Mercari 2019. Ba năm sau, monolith PHP còn lại vẫn chạy trên GCE trong khi microservice chạy GKE; một SRE nhúng vào team chuyển nó sang GKE theo phần trăm traffic, xong 2/2022, và đưa SLO thành điều kiện release cho service Item Mercari 2022. Bài giới thiệu đi kèm (2/2022) giải thích mô hình từ góc nhìn quản lý: SRE tách khỏi Platform, nhúng tạm thời rồi luân chuyển mỗi hai quý, mục tiêu là team tự vận hành được khi SRE rời đi Mercari 2022. Năm 2026, team Platform làm CI nhanh hơn 30–40% bằng cách để image cache trên node và dùng một tài nguyên giả (device plugin) để scheduler và autoscaler hiểu ràng buộc của runner Mercari 2026. Cùng năm 2022, team Security giám sát chính pipeline log của mình bằng alert vắng event và module Terraform trong template service Mercari 2022. Cũng ở nền tảng, đội Network viết quy trình bắt gói tin cho developer tự làm Mercari 2025, và đội Web Platform chạy remote cache Turborepo ngay trong job CI Mercari 2026. Năm 2025, series Global App kể lại cả chặng đường: monolith được tách theo strangler pattern nhưng lõi giao dịch và vận chuyển ở lại vì dữ liệu không được chuyển, microservices nhiều và khác nhau làm chi phí vận hành cao Mercari 2025; nền tảng toàn cầu mới vì thế là modular monolith tách deploy được Mercari 2025, với đơn hàng chạy bằng saga Mercari 2025, AlloyDB chọn qua benchmark Mercari 2025 và nền tảng ID được mở rộng thay vì xây lại Mercari 2025. Phần còn lại của series cho thấy cùng một mẫu ở mọi lớp: dùng lại nền móng chứ không dùng lại tính năng. Client web, iOS, Android gộp vào repo của app Nhật thành monorepo có ranh giới module Mercari 2025 Mercari 2025 Mercari 2025, nói chuyện qua một BFF chung thay cho hơn 20 fetch mỗi trang của web Nhật Mercari 2025 Mercari 2025; search chọn dịch vụ managed để ra nhanh kèm kế hoạch quay về Elasticsearch Mercari 2025; dịch bằng LLM giảm chi phí 100 lần qua bốn lần đổi model, mỗi lần một A/B test Mercari 2025. Với modular monolith, tính nhất quán giữa module được giữ bằng một đội readability đứng ngoài đường merge Mercari 2025.

Timeline

Năm = năm sự kiện theo bài (có thể sớm hơn năm đăng bài).

Năm Giai đoạn Thay đổi Nguồn
2017 3. Quy mô lớn Monolith → microservices theo strangler pattern, hơn 100 service lên cloud; lõi giao dịch, vận chuyển vẫn ở monolith vì không chuyển dữ liệu (tự đánh giá năm 2025). Mercari 2025
2019 3. Quy mô lớn Thanh toán trong microservices: state machine, idempotency, compensating transaction, reconciliation. Mercari 2019
2021 4. Điều chỉnh SRE nhúng vào team sản phẩm: SLO/error budget cho service Item, Istio, chuyển monolith PHP từ GCE sang GKE (1% → 100%, xong 2/2022). Mercari 2022
2022 3. Quy mô lớn Bài giới thiệu mô hình SRE nhúng: tách Platform (80%) khỏi SRE (20%), luân chuyển mỗi hai quý, đánh giá bằng khảo sát EM/TL. Mercari 2022
2022 3. Quy mô lớn Giám sát pipeline log bảo mật (SOAR): Error Reporting, alert vắng event, tỉ lệ lỗi, backlog Pub/Sub; module Terraform. Mercari 2022
2023 3. Quy mô lớn Dịch nội dung người dùng: DeepL → GPT-3.5 → GPT-4o mini → Gemini, chi phí ÷100 trong hai năm; đổi model không A/B làm tăng latency (bài 10/2025). Mercari 2025
2024 3. Quy mô lớn ID toàn cầu: tài khoản mới ngoài monolith PHP + reconciler, kiểm soát theo vùng ở hai lớp, step-up AAL/IAL (bài 10/2025). Mercari 2025
2024 4. Điều chỉnh Web: dùng lại web Nhật cho Đài Loan/Hồng Kông (2024) → app mới Next.js App Router/RSC, BFF chung ConnectRPC, subdomain theo vùng (bài 10/2025). Mercari 2025
2025 3. Quy mô lớn Quy trình bắt gói tin tự phục vụ trên Kubernetes: Ephemeral Container + quyền tạm qua Carrier, tcpdump -i any sau Istio mTLS. Mercari 2025
2025 3. Quy mô lớn Turborepo remote cache chạy ngay trong job GitHub Actions (action nền hoặc sidecar); task −50%, job −30% ở repo module hoá tốt (bài 2026). Mercari 2026
2025 4. Điều chỉnh Global App: nền tảng toàn cầu lai mở rộng/xây lại; modular monolith một binary, module bật/tắt để deploy tách, tầng phụ thuộc một chiều, 18 module; AlloyDB dùng chung cụm. Mercari 2025
2025 3. Quy mô lớn Đơn hàng: lifecycle theo mặt hàng, saga có điều phối (Magician của Merpay) với giao dịch bù. Mercari 2025
2025 3. Quy mô lớn Chọn DB: ma trận 11 tiêu chí + YCSB; AlloyDB làm DB chính, Spanner cho phần cần nhất quán toàn cầu. Mercari 2025
2025 3. Quy mô lớn Search Global App: VAIS:C managed để ra nhanh, chuyển Elasticsearch khi traffic lớn; backend có plugin, tách trừu tượng engine; lớp tính năng dùng lại trên EaaS. Mercari 2025
2025 3. Quy mô lớn Đồng bộ sản phẩm B2C từ Shops: live sync qua Pub/Sub + backfill từ BigQuery, Sync Tracker chống trùng/sai thứ tự, phát hành từ một shop. Mercari 2025
2025 3. Quy mô lớn Web monorepo pnpm + Turborepo, tầng app/feature/domain/core, i18n theo module qua import context và bundler alias. Mercari 2025
2025 3. Quy mô lớn Web: Data Access Layer duy nhất gọi BFF, interceptor cho request id/auth/locale, một lời gọi mỗi màn hình (bài 11/2025). Mercari 2025
2025 3. Quy mô lớn iOS: repo app Nhật thành monorepo nhiều sản phẩm trên Bazel (hơn 900 module), không dùng lại module tính năng. Mercari 2025
2025 3. Quy mô lớn Android: native thay cross-platform vì dùng lại nền móng, monorepo kiểm phụ thuộc trên CI, một build toàn cầu + remote config (bài 11/2025). Mercari 2025
2025 3. Quy mô lớn Mobile release train hằng tuần: trunk-based + feature flag, nộp Apple review song song với kiểm chứng, phased release. Mercari 2025
2025 3. Quy mô lớn E2E test bằng go test: pool server, mỗi test một logical DB trên AlloyDB Omni, coverage server, chạy trong Pod bằng go test -c. Mercari 2025
2025 3. Quy mô lớn Đội readability cho modular monolith: review sau, phân loại PR bằng Claude; feature flag lấy một lần ở BFF, truyền qua gRPC metadata. Mercari 2025
2025 3. Quy mô lớn Migrate đơn hàng từ hệ cũ bằng Claude Code: hỏi có cấu trúc, escape hatch chống bịa; một luồng upsert idempotent cho live sync và backfill. Mercari 2025
2025 3. Quy mô lớn AGENTS.md làm nguồn ngữ cảnh chung cho mọi công cụ agent trong web monorepo, tài liệu tự cập nhật theo PR. Mercari 2025
2026 3. Quy mô lớn CI tự host trên GKE: ARC sang Kubernetes mode để cache image trên node; device plugin runner-quota sửa OutOfPods và autoscaler; pipeline nhanh hơn 30–40%. Mercari 2026

Concept liên quan

Tất cả bài viết của blog (40 bài)

Blog này có 40 bài – thành viên xem đầy đủ danh sách, nhóm theo năm, có link về bài gốc.

Xem gói thành viên