Communication Styles — Giao tiếp Microservices(Building Microservices)
Khám phá 3 kiểu giao tiếp microservices: Request/Response (REST, gRPC), Event-Driven (message broker), và Service Discovery. Hiểu ưu nhược điểm từng pattern.
THE ENGINEERING JOURNAL
Các bài viết về system-design.
Khám phá 3 kiểu giao tiếp microservices: Request/Response (REST, gRPC), Event-Driven (message broker), và Service Discovery. Hiểu ưu nhược điểm từng pattern.
Tìm hiểu về Event Streams, Change Data Capture (CDC) và Event Sourcing — ba khái niệm quan trọng trong stream processing được trình bày trong DDIA chương 11.
Branch by Abstraction, Saga, UI Composition — ba pattern thực tế để chia nhỏ monolith an toàn, từng bước, không đau đớn.
Cách vẽ sơ đồ kiến trúc hệ thống bằng SVG thuần, nhúng trực tiếp vào markdown không cần công cụ bên ngoài.
Consistent Hashing giúp distributed systems thêm/xoá node mà không cần rehash toàn bộ. Từ Redis Cluster đến load balancer — tất cả đều dùng.
Tìm hiểu cách ứng dụng Domain-Driven Design và Bounded Context để phân định ranh giới microservices — từ lý thuyết đến thực hành.
Unix pipes và MapReduce — từ sort/grep/awk trên một máy đến MapReduce chạy trên cả cluster. Tìm hiểu triết lý xử lý dữ liệu theo lô trong DDIA.
Chiến lược chia nhỏ monolith: Strangler Fig, bounded context, tách database, xử lý transaction trong hệ phân tán.
MapReduce ghi intermediate state ra disk giữa mỗi phase — đây là điểm yếu chí tử. Spark, Flink, Tez thay thế bằng DAG pipeline, xử lý trong memory, hỗ trợ cả batch lẫn streaming.
Domain-Driven Design là chìa khóa để xác định ranh giới microservices. Chapter 2 nói về bounded context, ubiquitous language và cách áp dụng DDD vào thực tế.