💻
Tech notes
  • Các nguyên tắc trong kiến trúc phần mềm
  • Vòng đời phát triển phần mềm SDLC
  • 6 nguyên lý thiết kế microservices
  • MLOps Roadmap
  • SBOMs là gì?
  • Thuật thức hơi thở của Review Code
  • Tại sao code lại bốc mùi thối?
  • Corner testcase là gì?
  • So sánh mô hình Scrum và mô hình waterfall, Sprial
  • Quy trình release phiên bản phần mềm
  • 12 tuyên ngôn Agile
  • Conventional Commits
  • Chatgpt Prompt for coder
  • Quản trị dữ liệu
  • Nợ kỹ thuật
  • So sách Data-Centric và Model-Centric
  • Tracking Evaluation Measures
  • Mô hình Kano
  • Clean Code with C++ in cxview.ai
  • Các mức độ rủi ro về technical debt
  • Phiếu tự đánh giá cho hệ thống sản xuất học máy
  • Quản lý chất lượng trong ML
Powered by GitBook
On this page
  • Single Responsibility Principle - Nguyên tắc trách nhiệm duy nhất
  • Decentralized Data Management - Dữ liệu phi tập trung
  • API-Driven Design - Thiết kế hướng API
  • Stateless
  • Loose Coupling - Liên kết lỏng
  • Auto scaling - Tự động mở rộng

6 nguyên lý thiết kế microservices

Single Responsibility Principle - Nguyên tắc trách nhiệm duy nhất

Mỗi service chỉ nên handle một công việc. Ví dụ: Hệ thống thương mại điện tử yêu cầu người dùng đăng nhập, cho phép người dùng thanh toán đơn hàng. Trường hợp này ta cần hai service, một để xác thực người dùng (Authentication Service), thứ hai dùng để thanh toán (Payment Service).

Decentralized Data Management - Dữ liệu phi tập trung

Mỗi service tự quản lý database riêng của nó. Việc mỗi service tự quản lý được dữ liệu mà nó cần đảm bảo sự độc lập, khả năng mở rộng và độ tin cậy. Độ tin cậy ở đây được hiểu là khi một service down thì các service khác vẫn hoạt động bình thường.

API-Driven Design - Thiết kế hướng API

Các service giao tiếp với nhau qua API

Stateless

Stateless sẽ không quan tâm tới state hiện tại của request. Ví dụ: Nếu một service xử lý giỏ hàng của khách hàng trong hệ thống ecommerce, service đó sẽ không quan tâm trạng thái hiện tại của request là gì. Bản thân nó sẽ luôn xử lý request bằng cách lấy toàn bộ giữ liệu giỏ hàng và tiến hành bước tiếp theo. Chính sự không quan tâm tới state hiện tại giúp bản thân service độc lập, có thể scale up và có độ ổn định cao.

Loose Coupling - Liên kết lỏng

Các service nên được liên kết lỏng lẻo với nhau, tránh bị phụ thuộc quá nhiều lẫn nhau sẽ giúp dễ dàng scale up

Auto scaling - Tự động mở rộng

Ví dụ: nếu số lượng user truy cập tới service tăng, bản thân service phải tự mở rộng được. Khi user giảm truy cập, các instance trước đó phải được xoá bớt đi.

PreviousVòng đời phát triển phần mềm SDLCNextMLOps Roadmap

Last updated 2 years ago

Hiện nay, có thể đáp ứng yêu cầu này.

Kubernetes