Phần 2: Data Ingestion & Atomic Chunking Dữ Liệu Sản Phẩm

Phần 2: Data Ingestion & Atomic Chunking Dữ Liệu Sản Phẩm

← Chương trước: Phần 1: Kiến Trúc Agentic Search & Golang Eino | Mục lục Series | Chương tiếp theo: Phần 3: Tối Ưu Qdrant Hybrid Search → Answer-first: Kiến trúc Ingestion cho E-commerce sử dụng CDC Debezium qua Kafka để stream dữ liệu PostgreSQL sang Qdrant theo thời gian thực. Phương pháp Atomic Chunking phân tách sản phẩm thành các đơn vị thông tin độc lập, bảo toàn phân cấp danh mục và thuộc tính kỹ thuật, triệt tiêu hiện tượng LLM trích xuất sai thông số. ...

22 tháng 5, 2026 · 10 phút · Lê Tuấn Anh
Chương 4: Gỡ Rối Bài Toán Dual-Write Với Transactional Outbox

Chương 4: Gỡ Rối Bài Toán Dual-Write Với Transactional Outbox Pattern

← Chương trước: Chương 3 — Distributed Rate Limiting | Mục lục Series | Chương tiếp theo: Chương 5 — Tối Ưu Connection Pools → Answer-first: Vấn đề Dual-Write xảy ra khi đồng thời ghi Database và gửi message vào Kafka mà không có distributed transaction. Transactional Outbox Pattern giải quyết việc này bằng cách ghi event vào bảng outbox_events trong cùng một ACID SQL transaction, sau đó sử dụng Change Data Capture (CDC Debezium) để stream sang Kafka an toàn. ...

9 tháng 6, 2026 · 6 phút · Lê Tuấn Anh
Phần 4: Streaming CDC & Federated RAG: Đồng Bộ Real-time Cho Vector DB

Phần 4: Streaming CDC & Federated RAG: Đồng Bộ Real-time Cho Vector DB

← Chương trước: Phần 3: Nghệ Thuật Chunking & Semantic Caching | Mục lục Series | Chương tiếp theo: Phần 5: Bảo Mật Enterprise & Data Poisoning → Answer-first: Streaming CDC sử dụng Debezium và Kafka để bắt kịp biến động dữ liệu từ transactional DB sang Vector DB trong vài mili-giây. Kiến trúc Federated RAG cho phép truy vấn trực tiếp tại nguồn (Query-in-place), loại bỏ rủi ro dữ liệu bị cũ và phân mảnh. ...

17 tháng 5, 2026 · 6 phút · Lê Tuấn Anh
Magento database migration decision: Shared DB vs CDC vs Event Bus — Architecture Comparison

Magento Migration: Shared DB, CDC, or Event Bus?

Prerequisite: Review Why Migrate Magento to Microservices: Zero-Downtime Guide for initial architecture context. Magento Migration: Shared DB, CDC, or Event Bus? Answer-first: Implementing the Strangler Fig pattern with a shared database enables gradual monolith-to-microservice migration, using CDC event capture and API gateway proxies to decouple services safely. 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. ...

18 tháng 7, 2026 · 14 phút · Lê Tuấn Anh
Phần 6: Giai đoạn 1 — Strangler Fig: Di dời Chỉ-đọc (Read-Only)

Phần 6: Giai đoạn 1 — Strangler Fig: Di dời Chỉ-đọc (Read-Only)

← Chương trước: Phần 5: Chuyển Đổi Schema EAV Magento | Mục lục Series | Chương tiếp theo: Phần 7: Giai Đoạn 2 — Dual-Write Dapr PubSub → Answer-first: Giai đoạn 1 của mô hình Strangler Fig chỉ di dời luồng truy vấn đọc (Catalog, Search) sang Go microservices, sử dụng Change Data Capture (Debezium CDC) để đồng bộ dữ liệu từ MySQL Magento theo thời gian thực mà không làm gián đoạn luồng ghi nghiệp vụ. ...

13 tháng 5, 2026 · 15 phút · Lê Tuấn Anh
Quyết định cơ sở dữ liệu khi chuyển đổi Magento: Shared DB vs CDC vs Event Bus — So sánh Kiến trúc

Shared DB, CDC Hay Event Bus? Quyết Định Cơ Sở Dữ Liệu Khi Chuyển Đổi Monolith

Answer-first: Chuyển đổi Magento sang Golang có 3 chiến lược: Shared DB tăng tốc compute tức thì nhưng tích tụ nợ kỹ thuật; CDC (Debezium) + Outbox cho phép Go sở hữu schema phẳng không đổi code PHP; Full Event Bus (Kafka) cô lập hoàn toàn nhưng yêu cầu team PHP duy trì event publisher chuẩn chỉnh. 🇬🇧 Read the English version of this article on tanhdev.com Những gì bạn sẽ học được mà AI không nói cho bạn Tại sao Go chạy trên MySQL của Magento lại nhanh hơn ở tầng compute nhưng vẫn bị nghẽn cổ chai ở tầng truy vấn EAV — và cách giải quyết thực sự là gì. Yếu tố quyết định duy nhất giữa CDC (Phương án B) và Event Bus (Phương án C): ai sở hữu mã nguồn PHP Magento. Tình thế tiến thoái lưỡng nan của Strangler Fig: Compute vs. Data Khi chuyển đổi từ khối nguyên khối (monolith) Magento sang backend Golang, các kiến trúc sư phải đối mặt với một quyết định không hề rõ ràng: chúng ta nên chuyển đổi tầng API và cơ sở dữ liệu cùng một lúc không? ...

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