Phần 1: HTTP/REST vs gRPC Protobuf Tradeoffs Showdown

Phần 1: HTTP/REST (JSON) vs. gRPC (Protobuf) — Tuần Tự Hóa Byte, Multiplexing HTTP/2 và Thuế Chuyển Đổi Trong Microservices

Mục lục Series | Chương tiếp theo: Phần 2: Golang vs. PHP/Laravel E-Commerce → Answer-first: Với microservices nội bộ (East-West), gRPC qua HTTP/2 với Protobuf giúp tuần tự hóa nhị phân nhanh gấp 6-10 lần, giảm 70% băng thông mạng và tiết kiệm 45% CPU so với HTTP/REST JSON, trong khi REST JSON vẫn là tiêu chuẩn vàng cho API công khai (North-South). 🇬🇧 Read the English version of this article on tanhdev.com ...

16 tháng 8, 2026 · 32 phút · Lê Tuấn Anh
Bài 1: Nền tảng Microservices — Go, gRPC và API Gateway

Bài 1: Nền tảng Microservices — Go, gRPC và API Gateway

Mục lục Series | Chương tiếp theo: Bài 2: Kiến trúc Flash Sale — Bí ẩn phía sau Redis và Hot Keys → Answer-first: Nền tảng Microservices của Shopee sử dụng ngôn ngữ Go kết hợp gRPC và Protobuf ở tầng giao tiếp nội bộ để tối ưu hiệu năng và throughput. Tầng API Gateway đảm nhiệm định tuyến thông minh, xác thực JWT, và rate limiting phân tán nhằm bảo vệ các service nghiệp vụ phía sau. ...

5 tháng 5, 2026 · 5 phút · Lê Tuấn Anh
Phần 1: Thu thập GPS qua gRPC Streaming, MQTT & Kalman

Phần 1: Thu thập GPS qua gRPC Streaming, MQTT & Kalman

← Chương trước: Tóm tắt — Tổng quan Kiến trúc Hệ thống Gọi xe Real-time | Mục lục Series | Chương tiếp theo: Phần 2 — Geospatial Indexing: H3, S2 Geometry & Redis GEO → Answer-first: Uber và Grab xử lý 1,25 triệu write GPS/giây từ 5 triệu tài xế bằng persistent connections (gRPC stream, MQTT), tuần tự hóa Protobuf, lọc nhiễu Kalman Filter và batching, giúp giảm 67% overhead mạng và duy trì độ trễ end-to-end dưới 200ms. ...

6 tháng 5, 2026 · 9 phút · Lê Tuấn Anh
Phần 3: Golang + Kratos v2 — Đi sâu vào Framework Microservice

Phần 3: Golang + Kratos v2 — Đi sâu vào Framework Microservice

← Chương trước: Phần 2: Rush Monorepo 21 Go & Next.js Apps | Mục lục Series | Chương tiếp theo: Phần 4: gRPC Internal + REST Gateway → Answer-first: Kiến trúc Go microservice chuẩn enterprise trên nền tảng Kratos v2 áp dụng mô hình 5 lớp nghiêm ngặt, dependency injection bằng Google Wire, hỗ trợ song song HTTP/REST và gRPC transport, cùng thư viện dùng chung chuẩn hóa logging và middleware. Đối với các kỹ sư chuyển từ Magento PHP sang, việc chuyển dịch sang Go microservices không chỉ đơn thuần là đổi ngôn ngữ lập trình — mà nó là một cách thức tổ chức code khác biệt về mặt bản chất. Magento có controller, model, block, helper, và plugin. Còn Go với Kratos v3 (tối ưu hóa hoàn toàn cho Go 1.25) sở hữu chính xác 5 lớp (layer), mỗi lớp mang một trách nhiệm được định nghĩa rạch ròi. ...

22 tháng 4, 2026 · 16 phút · Lê Tuấn Anh
Phần 4: gRPC Internal + REST Gateway — Vòng đời của Hợp đồng API

Phần 4: gRPC Internal + REST Gateway — Vòng đời của Hợp đồng API

← Chương trước: Phần 3: Go + Kratos v2 Framework Deep Dive | Mục lục Series | Chương tiếp theo: Phần 5: Chuyển Đổi Schema EAV Magento → Answer-first: Mọi API trong hệ thống Composable Commerce khởi đầu từ hợp đồng Protocol Buffers (.proto), sử dụng gRPC cho giao tiếp nội bộ tốc độ cao giữa các services và gRPC-Gateway để tự động phơi bày REST endpoints JSON cho ứng dụng Web và Mobile. ...

29 tháng 4, 2026 · 16 phút · Lê Tuấn Anh
Đẩy thông báo tức thì tới hàng triệu thiết bị: Kiến trúc Realtime Push Gateway (Uber RAMEN)

Đẩy thông báo tức thì tới hàng triệu thiết bị: Kiến trúc Realtime Push Gateway (Uber RAMEN)

← Chương trước: Giải mã Surge Rate: Cách các Pricing Engine tính toán giá cước | Mục lục Series Answer-first: Hạ tầng Push Gateway như Uber RAMEN duy trì hàng triệu kết nối WebSocket/gRPC hai chiều bền vững, đẩy thông báo cuốc xe tới thiết bị tài xế trong vài mili-giây. Cơ chế Sequence ID và Ring Buffer cho phép tự động phát lại tin nhắn bị lỡ khi tài xế mất mạng tạm thời. ...

6 tháng 5, 2026 · 9 phút · Lê Tuấn Anh
So Sánh Công Nghệ Hiện Đại: Alipay Tech Stack vs Modern Cloud-Native

So Sánh Công Nghệ Hiện Đại: Alipay Tech Stack vs Modern Cloud-Native

← Chương trước: Phase 5: Bài Học & Khung Kiến Trúc | Mục lục Series Answer-first: So sánh đối chiếu toàn diện giữa hệ sinh thái Alipay (OceanBase, RocketMQ, SOFARPC, MOSN) với các giải pháp Cloud-Native hiện đại (TiDB, CockroachDB, Kafka, gRPC, Istio), đưa ra khung ma trận quyết định công nghệ tối ưu cho từng quy mô doanh nghiệp. So Sánh Alipay Stack với Công Nghệ Hiện Đại Tổng Quan So Sánh Alipay Stack Modern Equivalent Key Difference LDC + RZone Kubernetes + Multi-cluster LDC: Business-driven sharding; K8s: Infrastructure abstraction OceanBase CockroachDB/TiDB/YugabyteDB OceanBase: 10+ years prod, custom FPGA; Newer: Cloud-native first RocketMQ Apache Kafka/Apache Pulsar RocketMQ: LSM-tree + rich msg types; Kafka: Log-centric; Pulsar: Tiered storage SOFARPC gRPC/Envoy Proxy SOFARPC: Java-centric, financial features; gRPC: Cross-platform, protobuf SOFAMesh (MOSN) Istio/Linkerd MOSN: Go-based, X-protocol; Istio: Envoy C++, standard mesh CTU & AI (2025+) Modern ML Platforms CTU: Custom fraud-specific; 2025+ adds LLMs & AI Pay; Modern: GenAI/MLOps PouchContainer containerd/cri-o Pouch: Alibaba-specific; containerd: CNCF standard 1. LDC Architecture vs Kubernetes Multi-Cluster Kiến Trúc So Sánh ┌─────────────────────────────────────────────────────────────────────────────┐ │ LDC (Alipay) vs Kubernetes Multi-Cluster │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ LDC Architecture (Business-Driven) │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ RZone 1 RZone 2 RZone N │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │Users │ │Users │ │Users │ │ │ │ │ │1-1M │ │1M-2M │ │N-M │ │ │ │ │ ├─────────┤ ├─────────┤ ├─────────┤ │ │ │ │ │Apps │ │Apps │ │Apps │ │ │ │ │ │DB │ │DB │ │DB │ │ │ │ │ │Cache │ │Cache │ │Cache │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ │ │ │ │ • Sharding: User ID-based │ │ │ │ • Self-contained units │ │ │ │ • Cross-unit = Distributed txn │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ Kubernetes Multi-Cluster (Infrastructure-Driven) │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ Cluster 1 Cluster 2 Cluster N │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │Region: │ │Region: │ │Region: │ │ │ │ │ │us-west │ │eu-west │ │ap-south │ │ │ │ │ ├─────────┤ ├─────────┤ ├─────────┤ │ │ │ │ │K8s Pods │ │K8s Pods │ │K8s Pods │ │ │ │ │ │Services │ │Services │ │Services │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ │ │ │ │ • Sharding: Infrastructure/region-based │ │ │ │ • Shared global services │ │ │ │ • Cross-cluster = Service mesh │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ Detailed Comparison Aspect LDC (Alipay) K8s Multi-Cluster Recommendation Sharding Strategy User ID / Business key Node/Region labels LDC approach cho data-intensive apps Unit Boundary App + Data + Cache Pods + Services LDC: true isolation; K8s: shared storage Cross-Unit Traffic Explicit ( costly ) Transparent via mesh LDC: intentional design; K8s: hide complexity Failover Manual/Scripted (RZone switch) Automatic (health checks) K8s wins cho automation Scaling Add RZone (complex) Add nodes (simple) K8s wins cho ops simplicity Data Consistency Strong (Paxos in unit) Eventual (cross-cluster) LDC wins cho financial data Khi Nào Dùng Cái Nào? Use LDC-style khi: ...

2 tháng 5, 2026 · 16 phút · Lê Tuấn Anh
Giao Thức Giao Tiếp — gRPC vs REST vs GraphQL Trong Microservices Go

Giao Thức Giao Tiếp — gRPC vs REST vs GraphQL Trong Microservices Go

← Chương trước: Bảo Mật & Giới Hạn Tốc Độ API (Rate Limiting) — Token Bucket, Leaky Bucket & Redis Lua | Mục lục Series Answer-first: Lựa chọn giao thức microservices đòi hỏi cân nhắc: gRPC/Protobuf nhị phân tối ưu CPU/băng thông trên HTTP/2, REST/JSON linh hoạt cho client công khai, GraphQL gom truy vấn với DataLoader chống N+1, và ConnectRPC hỗ trợ dual protocol HTTP/1.1 và HTTP/2 liền mạch trong Go. ...

18 tháng 6, 2026 · 15 phút · Lê Tuấn Anh
Go microservices architecture production guide 2026

Kiến trúc Go Microservices: Hướng dẫn Production

Go microservices từ thiết kế domain đến triển khai Kubernetes — gRPC, Dapr, OpenTelemetry, và mô hình GitOps từ một dự án chuyển đổi 21-service thực tế.

12 tháng 6, 2026 · 35 phút · Lê Tuấn Anh
Golang gRPC Microservices chuẩn Production

Golang gRPC Microservices chuẩn Production

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: gRPC kết hợp Protobuf là giao thức tối ưu cho Go microservices nhờ mã hóa nhị phân nhỏ hơn 3–10 lần so với JSON, hỗ trợ bidirectional streaming và đạt độ trễ sub-millisecond. Xây dựng dịch vụ chuẩn production đòi hỏi mTLS, chuỗi interceptor middleware (logging, metrics, auth), keepalive params và health checking. Tại sao chọn gRPC cho Go Microservices? Ưu thế vượt trội: gRPC chính là sự lựa chọn chuẩn xác dành cho hệ thống Go microservices khi mà bạn đang cần: chức năng tuần tự hóa (serialization) hiệu quả dạng nhị phân (binary-efficient) (Protobuf sở hữu kích thước nhỏ hơn JSON từ 3–10 lần), cơ chế luồng dữ liệu hai chiều (bidirectional streaming) phục vụ cho giao tiếp dữ liệu thời gian thực (real-time data), những bản hợp đồng giao ước mang kiểu dữ liệu chặt chẽ (strongly-typed contracts) trải dài liên tục giữa các dịch vụ, và một ngưỡng độ trễ giao tiếp chéo dịch vụ (inter-service latency) đạt dưới mức một mili-giây. Google, Uber, Netflix, và Square đều dùng gRPC để làm giao thức giao tiếp liên dịch vụ chính yếu (primary inter-service communication protocol) của mình. Hướng dẫn dưới đây chi tiết cách xây dựng các Go gRPC service chuẩn production (production-grade) từ con số 0. ...

11 tháng 6, 2026 · 20 phút · Lê Tuấn Anh