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
Cuộc Chiến Khóa Chính: UUIDv7 vs Snowflake vs BIGINT – Định Đoạt Hiệu Năng Cơ Sở Dữ Liệu Phân Tán

Cuộc Chiến Khóa Chính: UUIDv7 vs Snowflake vs BIGINT – Định Đoạt Hiệu Năng Cơ Sở Dữ Liệu Phân Tán

← Chương trước: Phần 2: Golang vs. PHP/Laravel | Mục lục Series | Chương tiếp theo: Phần 4: MariaDB vs. MySQL → Answer-first: Chọn khóa chính là cuộc đấu giữa kích thước index và tính phân tán: BIGINT (8B) nhanh nhất trên single-node nhưng gây nghẽn sharding; UUIDv7 (16B) loại bỏ node điều phối, tương thích tuyệt đối PostgreSQL (fill factor 99%); còn Snowflake (8B) là “vũ khí tối thượng” cho MySQL/InnoDB chịu tải 50k+ RPS với mật độ B+ Tree hoàn hảo. ...

31 tháng 3, 2026 · 31 phút · Lê Tuấn Anh
Phần 5: Đánh Giá AI Agent (Agent Evals): Khung Benchmark & Đo Lường Sản Xuất

Phần 5: Đánh Giá AI Agent (Agent Evals): Khung Benchmark & Đo Lường Sản Xuất

← Chương trước: Phần 4: AgentOps & Production Observability | Mục lục Series | Chương tiếp theo: Phần 6: Kiến Trúc Human-in-the-Loop (HITL) → Answer-first: Agent Evals thiết lập khung đo lường đa chiều bao gồm độ hoàn thành mục tiêu (Pass@k), độ chính xác gọi Tool, và hiệu suất số bước thực thi. Kết hợp LLM-as-a-Judge có rubric phân cấp và kiểm tra tự động xác định giúp đánh giá chính xác độ tin cậy của Agent trước khi phát hành. ...

18 tháng 6, 2026 · 10 phút · Lê Tuấn Anh
Phần 6: Kiến Trúc Human-in-the-Loop (HITL): Cơ Chế Can Thiệp Con Người Cho AI Swarms

Phần 6: Kiến Trúc Human-in-the-Loop (HITL): Cơ Chế Can Thiệp Con Người Cho AI Swarms

← Chương trước: Phần 5: Đánh Giá AI Agent (Agent Evals) | Mục lục Series Answer-first: Kiến trúc Human-in-the-Loop (HITL) tích hợp chốt chặn con người vào các hành động rủi ro cao như giao dịch tài chính hay sửa đổi dữ liệu. Sử dụng cơ chế Interruptible Workflows và Webhook phê duyệt bất đồng bộ giúp AI Agent tự trị nhưng luôn nằm trong tầm kiểm soát an toàn. Part 6: Human-in-the-Loop (HITL) Guardrails & State Interception Answer-First: Enterprise agentic systems require stateful Human-in-the-Loop (HITL) interception gateways, architectural guardrails, and OWASP security controls. Suspending autonomous agent workflows before executing high-risk financial or destructive mutations guarantees regulatory compliance and mitigates prompt injection vulnerabilities. (Tính năng HITL trong môi trường công nghệ 2026 không còn là workaround mà là architectural core, tích hợp sâu vào các graph orchestration như LangGraph). ...

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

Agent Orchestration Frameworks vs. Vendor-Specific Agent SDKs: Enterprise Architectural Deep Dive

Agent Orchestration Frameworks vs. Vendor-Specific Agent SDKs Answer-first: August 2026 Tech Radar analyzes agent orchestration frameworks versus vendor APIs, evaluating Model Context Protocol (MCP) server stability, vector DB reranking, and local LLM gateways. Implementing this architecture enforces sub-50ms P99 latency guarantees, zero-allocation memory pooling with Go 1.24 unique.Handle, and fault-tolerant Dapr 1.15 component orchestration for resilient production scaling. Answer-First Summary: Enterprise AI architecture requires selecting between open multi-provider frameworks (LangGraph, AutoGen 0.4, CrewAI) for cyclic control flow, persistent state snapshots, and vendor independence, or direct vendor SDKs (OpenAI, Claude SDK, Google ADK) for sub-5ms latency, native prompt caching (90% cost reduction), and zero wrapper overhead. Polyglot production systems integrate Python agent workers with Go core microservices via Dapr sidecars. ...

5 tháng 8, 2026 · 12 phút · Tuan Anh
Building High-Throughput Event-Driven Microservices in Go with NATS JetStream and CQRS Architecture Diagram

Xây dựng Microservices Event-Driven Hiệu năng Cao trong Go với NATS JetStream và CQRS

Answer-first: Hệ thống Event-Driven hiệu năng cao trên Go kết hợp NATS JetStream, CQRS và Transactional Outbox Pattern xử lý hơn 120.000 event/giây. Thiết kế phân tách Command-Query triệt để, đảm bảo ngữ nghĩa At-Least-Once Delivery và duy trì tính nhất quán cuối cùng giữa các bounded context. 🇬🇧 Read the English version of this article on tanhdev.com 1. Lý do Kiến trúc: Tại sao chọn Go + NATS JetStream cho Microservices Event-Driven Trong các kiến trúc cloud-native hiện đại, việc mở rộng quy mô hệ thống phân tán vượt ngưỡng hàng chục nghìn giao dịch mỗi giây (TPS) bộc lộ những nút thắt cổ chai nghiêm trọng trong mô hình request-response truyền thống. Traditional microservices built around synchronous HTTP/REST or gRPC backplanes frequently encounter database write contention, connection pool exhaustion, and cascading latency spikes whenever traffic bursts hit downstream storage layers. When a single database handles both complex mutation transactions (commands) and heavy analytical join queries (reads), row-level locks and index maintenance stall throughput, inflating p99 latencies from milliseconds to seconds. ...

23 tháng 7, 2026 · 17 phút · Lê Tuấn Anh

Tech Radar 22/07: Event-Driven Agentic Saga với Dapr Workflows

🇬🇧 Read the English version of this article on tanhdev.com Trả lời nhanh (Answer-first): Dapr Workflows điều phối hiệu quả các tác vụ AI Agent kéo dài trong Go bằng cách cung cấp trạng thái bền vững (durable state), cơ chế thử lại (retries) và bù trừ tác vụ (Saga compensation) rõ ràng. Giữ các lệnh gọi LLM và công cụ bên ngoài trong các activity idempotent — thay vì trong orchestrator — để khi replay, hệ thống tái cấu trúc lại trạng thái quyết định mà không lặp lại các tác dụng phụ (side effects) đã hoàn tất. ...

22 tháng 7, 2026 · 8 phút · Lê Tuấn Anh
So sánh kiến trúc AWS EKS vs ECS — tanhdev.com

AWS EKS vs ECS: Kiến trúc, Chi phí & Thực tế Sử dụng (2026)

Answer-first: AWS EKS tối ưu cho hệ thống microservices phức tạp, multi-cloud và hệ sinh thái Kubernetes tiêu chuẩn, nhưng chịu chi phí control plane $0.10/giờ/cluster cùng phụ phí Extended Support. AWS ECS tối ưu cho team tinh gọn, không tốn phí control plane và tích hợp Fargate không ma sát vận hành. 🇬🇧 Read the English version of this article on tanhdev.com TL;DR: EKS cung cấp cho bạn toàn bộ sức mạnh của Kubernetes, khả năng di động và hệ sinh thái CNCF. ECS mang lại sự đơn giản thuần túy của AWS với chi phí control plane bằng $0. Hãy chọn EKS nếu bạn cần GitOps, ArgoCD, Dapr, hoặc muốn không bị khóa chặt vào một cloud (multi-cloud). Chọn ECS nếu bạn muốn đưa sản phẩm ra thị trường nhanh nhất trên AWS với gánh nặng vận hành tối thiểu. ...

26 tháng 6, 2026 · 19 phút · Lê Tuấn Anh
Composable Banking Architecture: Go & BIAN Blueprint

Composable Banking Architecture: Go & BIAN Blueprint

Composable Banking Architecture: Go & BIAN Blueprint Answer-first: Composable banking architecture replaces monolithic core banking software with modular, independent Packaged Business Capabilities (PBCs) aligned to BIAN standards. Connected via Go microservices, event streams (Kafka), and Temporal Saga orchestrators, composable banking enables financial institutions to deploy new financial products in days, achieve sub-10ms ledger settlement, and eliminate high-risk “Big Bang” migration outages. Migration Path from Monolith to Composable Transitioning to a composable core requires a phased approach to mitigate operational risk: ...

10 tháng 6, 2026 · 21 phút · Lê Tuấn Anh
Kiến trúc Microservices Ngân hàng với Go: Mẫu Saga, event sourcing, và sổ cái phân tán

Kiến trúc Microservices Ngân hàng: Go, Saga & Event Sourcing

Answer-first: Kiến trúc Banking Microservices với Golang áp dụng Sổ cái kép (Double-Entry Ledger), Event Sourcing và Orchestrated Saga Pattern qua Dapr/Temporal. Đảm bảo toàn vẹn giao dịch tài chính ACID ở cấp độ nghiệp vụ, cách ly tài khoản nguồn-đích và xử lý bù trừ tự động khi phát sinh sự cố mạng. 🇬🇧 Read the English version of this article on tanhdev.com 1. Giới thiệu: Phá vỡ Core Banking truyền thống Trả lời nhanh: Một kiến trúc microservices ngân hàng hiện đại sẽ thay thế các sổ cái nguyên khối cũ (như T24 hoặc Flexcube) bằng cách sử dụng Go để định tuyến giao dịch với thông lượng cao. Hệ thống đạt được tính nhất quán phân tán mà không cần dùng two-phase commit (2PC) bằng cách kết hợp Event Sourcing (luồng sự kiện bất biến của sổ cái), Điều phối Saga (dùng Temporal hoặc Dapr), mẫu Transactional Outbox và ràng buộc unique của PostgreSQL để đảm bảo API luôn idempotent. ...

1 tháng 6, 2026 · 18 phút · Lê Tuấn Anh
Các Mẫu Goroutine Pool Trong Go

Các Mẫu Goroutine Pool Trong Go

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: Quản lý đồng thời an toàn trong Go đòi hỏi các mẫu Goroutine Pool có giới hạn (bounded concurrency): errgroup cho tác vụ theo lô, semaphore có đệm cho I/O pipelines, và channel-based worker pools cho xử lý hàng đợi kèm backpressure, circuit breaking và graceful shutdown. Mọi kỹ sư Go cuối cùng đều viết cùng một sai lầm: một vòng lặp khởi chạy các goroutine vô điều kiện (unconditionally). Trong một bản demo với 10 mục, điều này hoạt động rất đẹp. Nhưng trong môi trường production (thực tế) với 50.000 sự kiện webhook đầu vào, nó sẽ sản sinh ra 50.000 goroutine cùng một lúc, làm cạn kiệt bộ nhớ và kích hoạt sát thủ diệt bộ nhớ (OOM killer). Kubernetes sẽ khởi động lại (restart) cái pod đó. Và rồi kỹ sư trực on-call nhận tiếng bíp gọi dậy lúc 3 giờ sáng. ...

1 tháng 6, 2026 · 17 phút · Lê Tuấn Anh
Go pprof trong Kubernetes: Remote Profiling & Flame Graphs

Go pprof trong Kubernetes: Remote Profiling & Flame Graphs

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: Remote profiling Go trong Kubernetes được thực hiện an toàn qua 3 mô hình: tạo tunnel tức thời bằng kubectl port-forward trên cổng admin cô lập, gắn container sidecar cho cụm tăng cường bảo mật, hoặc tích hợp Pyroscope continuous profiling (1–3% CPU). Phân tích flame graph phát hiện hot-path và tối ưu GC latency. Bạn đã gắn các bộ thu thập đo lường cho service Go của mình với net/http/pprof, chạy thử lệnh go tool pprof cục bộ (local) kiểm tra file binary lúc dev, và đã nhìn rõ mồn một các “hot path” (đường nghẽn cổ chai tốn thời gian nhất) trên biểu đồ ngọn lửa (flame graph). Thế rồi bạn triển khai lên Kubernetes và các điểm nghẽn ấy biến mất hoàn toàn — bởi vì hồ sơ tải (workload profile) trong Kubernetes khác xa với việc test cục bộ (mix request khác nhau, áp lực pool kết nối khác nhau, hành vi GC cũng khác dưới mức chịu tải thực tế, và cả sự can thiệp từ bộ lập lịch (scheduler) của các pod nằm chung node). ...

1 tháng 6, 2026 · 21 phút · Lê Tuấn Anh
Hướng Dẫn Dapr Workflow Go: Orchestrated Saga Pattern

Hướng Dẫn Dapr Workflow Go: Orchestrated Saga Pattern

Answer-first: Dapr Workflow cung cấp mô hình Orchestrated Saga bền vững (Durable Execution) cho các microservices Golang. Bằng cách tập trung hóa máy trạng thái, tự động bù trừ khi xảy ra sự cố và loại bỏ phụ thuộc vào Two-Phase Commit (2PC), giải pháp duy trì tính nhất quán cuối cùng cho giao dịch tài chính đa bước. 🇬🇧 Read the English version of this article on tanhdev.com Hầu hết các lập trình viên Go xây dựng microservices đều biết đến mẫu Choreography Saga: service A phát ra (emit) một sự kiện, service B phản ứng, service C phản ứng với B, và cứ tiếp tục như vậy. Nếu bước C thất bại, các services sẽ phát ra các sự kiện “bù trừ” (compensation) theo thứ tự ngược lại. Mẫu này hoạt động một cách mượt mà đối với các luồng đơn giản, nhưng lại phá vỡ tính hiệu quả khi số lượng bước tăng lên: việc debug một saga thất bại đòi hỏi phải lần theo dấu vết (tracing) các sự kiện qua năm topic của message broker, và việc triển khai logic bù trừ đòi hỏi mỗi service phải hiểu toàn bộ trạng thái của saga. ...

1 tháng 6, 2026 · 18 phút · Lê Tuấn Anh
LeaseInVietnam AI Rental Intelligence System

LeaseInVietnam: Hệ Thống AI Rental Intelligence Cho Expat Tại Việt Nam

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: LeaseInVietnam là hệ thống AI Rental Intelligence tự trị hai node (Node 112 bóc tách dữ liệu Go/Gemma4, Node 114 biên tập PostgreSQL/GPT-5.2), chuyển đổi traffic khách thuê expat thành phễu lead B2B có hoa hồng qua 4 tầng anti-hallucination, phát hiện tin lừa đảo tự động và xuất bản bài viết chuẩn GitOps. Đa số các dự án nội dung AI đều được xây dựng xoay quanh một câu hỏi: làm sao để tôi tạo ra được nhiều bài hơn? LeaseInVietnam được xây dựng xoay quanh một câu hỏi hoàn toàn khác: làm sao để tôi ép mọi bài viết được đăng đều phải tạo ra chuyển đổi (convert)? ...

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

Tech Radar, 14/04/2026: An Toàn Hơn Khi Tiến Hóa Code, Khôi Phục

🇬🇧 Read the English version of this article on tanhdev.com Các chủ đề được lựa chọn trong luồng pipeline số 6 vẽ nên một bức tranh vô cùng mạch lạc về hướng đi của Kỹ thuật Nền tảng (Platform engineering) ở độ tuổi trưởng thành. Sau khi trích xuất và đào sâu vào các tài liệu gốc, một thông điệp chung đã xuất hiện: Những hệ thống mạnh mẽ không chỉ được định nghĩa bởi việc chúng có thể làm được gì, mà còn bởi việc chúng tiến hóa (evolve) an toàn ra sao, chúng khôi phục (recover) dễ đoán đến nhường nào, và chúng gọt bỏ được bao nhiêu “độ phức tạp vô bổ” (accidental complexity) cho các team xây dựng ứng dụng bên trên chúng. ...

14 tháng 4, 2026 · 12 phút · Lê Tuấn Anh