Link Search Menu Expand Document

Microservices

Trong phần này, chúng ta sẽ xây dựng một ứng dụng với tên gọi FriendReminders theo mô hình kiến trúc Microservices. Ứng dụng cung cấp chức năng quản lý và chia xẻ nhắc nhở giữa những người dùng nhằm mục đích hỗ trợ việc quản lý công việc hiệu quả hơn. Việc phát triển FriendReminders dựa trên nền tảng công nghệ:

  • .NET Core - sử dụng ngôn ngữ lập trình C# cùng những packages EF Core, Mapping, Logging…
  • Amazon Web Services - tích hợp, triển khai ứng dụng với những nhóm dịch vụ cơ bản của AWS

Nhóm dịch vụ là một tập hợp các dịch vụ có chung một mục đích sử dụng. Ứng dụng FriendReminders sử dụng các nhóm dịch vụ AWS:

  • Compute: Container, Lambda
  • Storage: S3, Amazon PostgreSQL
  • Networking: VPC, Subnets, Gateway
  • Messaging: SQS, SNS
  • Logging & Monitoring: CloudWatch
  • DevOps: CodeCommit, CodePipeline

Trong danh sách này, Compute đóng vai trò quan trọng do đó là nơi tập trung những xử lý và logic chính của một ứng dụng.

Với nhóm Compute, ứng dụng Microservices có thể lựa chọn những cách tiếp cận:

  • Containers: Đóng gói logic của dịch vụ trong containers, kết hợp cùng những công cụ ECS, EKS hỗ trợ khả năng kết nối và mở rộng khi cần thiết
  • Serverless: Tập trung phát triển logic của dịch vụ trong các lambda trong khi AWS cung cấp cơ chế quản lý và vận hành server một cách tự động

Bên cạnh đó, để những dịch vụ bên trong ứng dụng Microservices kết nối được với nhau, việc thiết kế phải cung cấp những qui định cụ thể về mặt giao tiếp, định dạng dữ liệu - constraints.

Có hai mô hình giao tiếp phổ biến:

  • Web API: Sử dụng hoạt động HTTP (Get, Put, Delete, Patch) gửi nhận messages
  • Event-driven: Giao tiếp không đồng bộ qua events và thực hiện xử lý logic tương ứng

Trong phần tiếp theo, chúng ta sẽ bắt đầu bằng việc xây dựng ứng dụng FriendReminders bằng việc phát triển một dịch vụ RemindersManagement dựa theo mô hình Web API.


Table of contents


Copyright © 2019-2022 Tuan Anh Le.