Tìm hiểu Kiến trúc Microservices – Cấu trúc, Luồng hoạt động và Ứng dụng thực tế

Trong số các mô hình kiến trúc, Kiến trúc Microservices đang được nhiều công ty công nghệ hàng đầu trên thế giới lựa chọn để xây dựng hệ thống phân tán, linh hoạt, đáp ứng tốt yêu cầu thay đổi liên tục và quy mô mở rộng theo nhu cầu thực tế.

Bài viết sẽ tập trung làm rõ kiến trúc Microservices — từ cấu trúc tổng quan, luồng hoạt động đến ứng dụng thực tế — nhằm giúp sinh viên công nghệ thông tin hiểu và làm quen với mô hình kiến trúc này trước khi bước vào môi trường làm việc chuyên nghiệp.

Client (Web, Mobile, PC)

  • Nhiệm vụ: Là điểm bắt đầu của các yêu cầu từ người dùng cuối.
  • Luồng hoạt động: Gửi yêu cầu đến hệ thống thông qua Load Balancer hoặc truy cập nội dung tĩnh từ CDN.

Load Balancer

  • Nhiệm vụ: Phân phối đều lưu lượng yêu cầu đến nhiều instance của API Gateway để tối ưu hiệu năng và tránh quá tải.
  • Luồng hoạt động: Nhận yêu cầu từ client và chuyển tiếp đến API Gateway.

CDN (Content Delivery Network)

  • Nhiệm vụ: Lưu trữ và phân phối nội dung tĩnh như hình ảnh, CSS, JS nhanh chóng từ các server gần người dùng nhất.
  • Luồng hoạt động: Cung cấp nội dung tĩnh được cache từ Static Content.
  • Static Content
  • Nhiệm vụ: Lưu trữ các tài nguyên tĩnh (static files).
  • Luồng hoạt động: Cung cấp nội dung tĩnh cho CDN để phục vụ nhanh hơn đến client.

API Gateway

  • Nhiệm vụ:
    • Là cổng trung gian duy nhất giữa client và hệ thống backend.
    • Quản lý xác thực, routing, logging, rate limiting.
  • Luồng hoạt động: Nhận yêu cầu từ Load Balancer, xác thực người dùng (qua Identity Provider), rồi định tuyến đến các microservice.
  • Identity Provider
  • Nhiệm vụ: Xác thực người dùng và cấp token (ví dụ: JWT) cho các request hợp lệ.
  • Luồng hoạt động: API Gateway gửi yêu cầu xác thực người dùng đến đây.

Microservices

  • Nhiệm vụ:
  • Là cổng trung gian duy nhất giữa client và hệ thống backend.
  • Quản lý xác thực, routing, logging, rate limiting.
  • Luồng hoạt động: Nhận yêu cầu từ Load Balancer, xác thực người dùng (qua Identity Provider), rồi định tuyến đến các microservice.

Database A & B

  • Nhiệm vụ: Lưu trữ dữ liệu riêng biệt cho từng domain.
  • Luồng hoạt động: Microservices trong từng domain tương tác trực tiếp với database tương ứng.

Message Broker

  • Nhiệm vụ: Hỗ trợ giao tiếp bất đồng bộ giữa các microservice (như RabbitMQ, Kafka).
  • Luồng hoạt động: Microservices publish và subscribe thông điệp để giao tiếp, giảm phụ thuộc trực tiếp.

Service Registry and Discovery

  • Nhiệm vụ:
    • Lưu trữ thông tin các microservice đang hoạt động.
    • Cho phép service khác tra cứu địa chỉ và trạng thái của các service còn lại.
  • Luồng hoạt động: Microservices đăng ký với registry khi khởi động, và sử dụng nó để tìm kiếm các service khác.

Message Broker

  • Nhiệm vụ: Quản lý cấu hình phân tán, đồng bộ, phân phối khóa (locks), leader election giữa các microservices.
  • Luồng hoạt động: Microservices có thể tương tác với Zookeeper để phối hợp hoạt động theo nhóm.

Tóm tắt luồng hoạt động chính

  1. Client gửi yêu cầu → Load Balancer → API Gateway.
  2. API Gateway xác thực với Identity Provider.
  3. Sau khi xác thực, API Gateway định tuyến yêu cầu đến service phù hợp.
  4. Service truy xuất Database hoặc gửi/nhận thông điệp qua Message Broker.
  5. Service sử dụng Service Registry để tìm các service khác (nếu cần).
  6. Các hoạt động phối hợp hoặc đồng bộ giữa service thông qua Zookeeper.

Ứng dụng thực tế của Microservices

  • Microservices được ứng dụng rộng rãi trong các hệ thống như:
  • Các nền tảng học trực tuyến (E-Learning): tách riêng các dịch vụ (microservices) người dùng, khóa học, thanh toán, đánh giá.
  • Hệ thống thương mại điện tử: tách riêng các dịch vụ (microservices) như giỏ hàng, thanh toán, đơn hàng, giao hàng.
  • Mạng xã hội: quản lý bài đăng, tương tác, người dùng, tin nhắn dưới dạng các service (microservices) riêng biệt.

Bài viết liên quan

No Image

Th6

2025

14

SEO và các vấn đề của SEO

14/06/2025

SEO-friendly URLs – Short, descriptive URLs not only help search engines and visitors understand your page topic at a glance, they also improve click-through rates by setting clear expectations. Ditch long strings of numbers or random characters and stick to meaningful keywords. A tidy URL structure makes sharing effortless and gives your site a polished feel. FAU…

Đọc thêm
No Image

Th6

2025

14

Hướng gửi Sitemap với Google Search Console

14/06/2025

Muốn cải thiện thứ hạng tìm kiếm của website? Tối ưu hóa quá trình thu thập dữ liệu của Google là điều cần thiết. Hãy cùng tìm hiểu cách gửi Sitemap để giúp Google hiểu rõ cấu trúc website của bạn và hiển thị kết quả tìm kiếm chính xác hơn. Bước 1: Search từ…

Đọc thêm
No Image

Th6

2025

14

Nguồn thông tin đáng tin cậy dành cho sinh viên Digital Marketing

14/06/2025

Mục lục1 Vietnam Ecommerce Association (VECOM)2 Cafebiz3 Brands Vietnam4 Vietnamnet.vn5 VnEconomy Vietnam Ecommerce Association (VECOM) Hiệp hội Thương mại điện tử Việt Nam (VECOM) là một trong những tổ chức hàng đầu tại Việt Nam chuyên cung cấp thông tin, nghiên cứu và báo cáo về thị trường thương mại điện tử. Được thành lập…

Đọc thêm
No Image

Th6

2025

14

Hướng dẫn sửa lỗi SSL trên Cpanel

14/06/2025

Bước 1: Trên thanh Tìm Kiếm nhập dòng “Let’s Encrypt SSL” Bước 2: Click chọn như hình Bước 3: Ngay phần “Issue a new certificate” xem Actions và chọn “Issue” để cài đặt lại Bước 4: Ngay cột “include?” bỏ chọn EMAIL như trong ảnh Bước 5: Kéo xuống dưới và click vào chữ “Issue”…

Đọc thêm