Skip to main content

Posts

Showing posts from June, 2026

Cloud-Native Storage (Phần 3): CQRS – Tách biệt đọc và ghi để mở rộng hệ thống quy mô lớn

Trong nhiều hệ thống hiện đại, số lượng thao tác đọc thường lớn hơn rất nhiều so với thao tác ghi. Khi cả hai cùng chia sẻ một cơ sở dữ liệu, hiệu năng nhanh chóng trở thành điểm nghẽn và việc mở rộng hệ thống trở nên khó khăn. Đó là lý do kiến trúc Command Query Responsibility Segregation (CQRS) ra đời. Thay vì sử dụng chung một mô hình dữ liệu, CQRS tách riêng luồng ghi và luồng đọc để mỗi bên được tối ưu cho nhiệm vụ của mình. Đây là một trong những mẫu kiến trúc quan trọng trong Cloud-Native Storage dành cho các hệ thống có quy mô lớn và yêu cầu hiệu năng cao. Cloud-NativeStorage (Phần 2): Data Module, Polyglot Persistence và Database-as-a-Service Cloud-NativeStorage (Phần 1): Từ Cloud Database đến Replicated Database và ConfigurationDatabase CloudNative là gì? Tư duy thiết kế hệ thống hiện đại cho thời đại đám mây 7. Command Query Responsibility Segregation (CQRS) Command Query Responsibility Segregation (CQRS) là một giải pháp cấp cao để giải quyết sự xung đột giữa ...

Cloud-Native Storage (Phần 2): Data Module, Polyglot Persistence và Database-as-a-Service

Khi hệ thống phát triển theo kiến trúc microservices, việc lựa chọn cơ sở dữ liệu không còn là câu chuyện của một sản phẩm duy nhất. Dữ liệu cần được chia nhỏ theo từng miền nghiệp vụ, mỗi dịch vụ được quyền sử dụng công nghệ lưu trữ phù hợp nhất và toàn bộ hạ tầng quản trị cần được tự động hóa. Bài viết này sẽ giới thiệu ba khái niệm quan trọng giúp hiện thực hóa mục tiêu đó: Data Module , Polyglot Persistence và Database-as-a-Service (DBaaS) . Đây là những nền tảng giúp các hệ thống cloud-native vừa linh hoạt, vừa dễ mở rộng và vận hành hiệu quả. Cloud-Native Storage (Phần 1): Từ Cloud Database đến Replicated Database và Configuration Database Cloud Native là gì? Tư duy thiết kế hệ thống hiện đại cho thời đại đám mây 4. Data Module (Mô-đun dữ liệu) Data Module được ví như là "phiên bản dữ liệu" của các kiến trúc phần mềm hiện đại như Modular Monolith hay Distributed Architecture. Để ứng dụng có thể tiến hóa nhanh, dữ liệu của nó cũng phải được chia nhỏ và tổ chức một ...

Cloud-Native Storage (Phần 1): Từ Cloud Database đến Replicated Database và Configuration Database

Một ứng dụng cloud-native không thể chỉ đơn giản là chuyển cơ sở dữ liệu từ máy chủ vật lý lên đám mây. Hạ tầng đám mây luôn tồn tại nguy cơ máy chủ gặp sự cố, mạng bị gián đoạn hoặc tài nguyên thay đổi liên tục. Vì vậy, hệ thống lưu trữ cũng phải được thiết kế theo những nguyên tắc hoàn toàn khác so với các cơ sở dữ liệu truyền thống  giúp ứng dụng vừa lưu trữ dữ liệu an toàn, vừa đạt khả năng mở rộng, tính khả dụng cao và khả năng tự phục hồi khi hạ tầng gặp sự cố. Cloud Native là gì? Tư duy thiết kế hệ thống hiện đại cho thời đại đám mây 1. Cloud Database (Cơ sở dữ liệu đám mây) Đây là một giải pháp then chốt để giải quyết nghịch lý của các ứng dụng hiện đại: làm sao để vừa "không lưu trạng thái" (stateless) vừa có thể ghi nhớ dữ liệu nghiệp vụ. Cloud Database: "Nơi lưu giữ linh hồn" của ứng dụng Để một ứng dụng chạy tốt trên mây, nó phải là Stateless Application . Nó được gọi là "stateless" vì nó không giữ dữ liệu trong bộ nhớ riêng của nó. Tuy...