Tìm Hiểu Về Các Công Nghệ Backend Trong Thiết Kế Hệ Thống

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

2023

134
0
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. Chương 1: Tổng quan về thiết kế hệ thống

1.1. Thiết kế trong các hệ thống nhỏ và trong các hệ thống lớn

1.1.1. Thiết kế trong hệ thống nhỏ

1.1.2. Thiết kế trong hệ thống lớn

1.2. Các nguyên lý thiết kế hệ thống

1.3. Các khái niệm về fault tolerance

1.3.1. Byzantine fault

2. Chương 2: Xây dựng hệ thống với . Services & Dependency injection

2.1. Thiết kế hệ thống lớn

3. Chương 3: Load balancer

3.1. Triển khai Load Balancer

3.1.1. Hardware Load Balancer

3.1.2. Software Load Balancer

3.2. Tăng availability của hệ thống

5. Chương 5: Distributed transactions

5.1. Tổng quan về transaction

5.2. Đảm bảo Tính nhất quán “Consistency” và Tính bền bỉ “Durability”

5.3. Đảm bảo Tính nguyên tử “Atomicity” và Tính độc lập “Isolation”

5.3.1. Tính nguyên tử (Atomicity)

5.3.2. Xác nhận 2 pha “2-Phase Commit” (2PC)

5.3.2.1. Xử lý lỗi của người tham gia
5.3.2.2. Blocking trong giao thức 2PC
5.3.2.3. Ứng dụng của giao thức 2PC

5.3.3. Xác nhận 3 pha “3-Phase Commit” (3PC)

5.3.3.1. Các vấn đề của 2PC
5.3.3.2. Giải quyết vấn đề của 2PC bằng 3PC
5.3.3.3. Lợi ích của 3PC
5.3.3.4. Lỗi phân mảnh mạng trong 3PC

5.4. So sánh Two-phase commit/Three-phase commit và Saga

6. Chương 6: Caching

6.1. Tổng quan về caching

6.2. Các pattern trong caching

6.2.1. Reverse Proxy Cache

6.2.2. Reverse Proxy Sidecar Cache

6.2.3. Read–aside caching

6.2.4. Write-aside caching

6.2.5. Write-around

7. Chương 7: Microservices

7.1. Miêu tả microservice

7.2. Các nguyên tắc cơ bản khi thiết kế hệ thống Microservices

7.3. Phương thức giao tiếp giữa các service

7.4. Khuyết điểm của microservice

8. Chương 8: Service discovery & API Gateway

8.1. Phân loại service discovery

8.2. Phân loại hình thức register

8.3. Đăng ký bên thứ ba (third-party registration)

8.4. Sử dụng service

8.5. Kiến trúc

9. Chương 9: Consensus

9.1. Định nghĩa về vấn đề Consensus

9.2. Bầu chọn leader

9.3. Thuật toán Raft

9.3.1. Khái quát về Raft

9.3.2. Giao tiếp giữa các nút Raft

9.3.2.1. Cơ chế giao tiếp
9.3.2.2. Sự phân kỳ giữa các nút
9.3.2.3. Giải quyết sự phân kỳ

9.3.3. Ưu và nhược điểm của Raft

10. Chương 10: Deployment

10.1. Multiple instance per host

10.2. Once instance per host

10.3. Kubernetes và Helm

10.4. Grafana

11. Chương 11: Demo và tổng kết

11.1. Tổng kết

Tài liệu tham khảo