Xây Dựng Hệ Thống Với Spring Boot: Đồ Án Môn Học Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

đồ án

2023

109
8
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Động lực nghiên cứu

1.2. Mục tiêu và phạm vi nghiên cứu

1.3. Tóm tắt đồ án

1.4. Bố cục báo cáo

2. CHƯƠNG 2: THIẾT KẾ HỆ THỐNG

2.1. Tổng quan về thiết kế hệ thống

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

2.2.1. Tính mở rộng – Scalability

2.2.2. Tính khả dụng – Availability

2.2.3. Tính tin cậy – Reliability

2.2.4. Tính bảo trì – Maintainability

2.2.5. Tính nhất quán – Consistency

2.2.6. Tính hồi phục – Fault Tolerance

3. CHƯƠNG 3: BỘ CÂN BẰNG TẢI

3.1. Khái niệm bộ cân bằng tải

3.2. Phân loại bộ cân bằng tải

3.3. Triển khai bộ cân bằng tải

3.3.1. Bộ cân bằng tải phần cứng

3.3.2. Bộ cân bằng tải phần mềm

3.3.3. Các loại mẫu triển khai

4. CHƯƠNG 4: CƠ SỞ DỮ LIỆU

4.1. Tổng quan về cơ sở dữ liệu

4.2. Các loại cơ sở dữ liệu

4.2.1. Cơ sở dữ liệu quan hệ

4.2.2. Cơ sở dữ liệu không quan hệ

4.2.3. Cơ sở dữ liệu “key-value”

4.2.4. Cơ sở dữ liệu “document”

4.2.5. Cơ sở dữ liệu “Graph”

4.2.6. Cơ sở dữ liệu cột “Columnar”

4.3. Cách chọn cơ sở dữ liệu phù hợp

5. CHƯƠNG 5: GIAO DỊCH PHÂN TÁN

5.1. Tổng quan về giao dịch

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

5.3. Xử lý lỗi người tham gia

5.4. Tính chặn (Blocking) trong giao thức 2PC

5.5. Xác nhận 3 pha “3-Phase Commit”

5.6. Các vấn đề của 2PC

5.7. Giải quyết vấn đề 2PC bằng 3PC

5.8. Lợi ích của 3PC

5.9. Lỗi Phân mảnh mạng trong 3PC

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

6. CHƯƠNG 6: BỘ NHỚ ĐỆM

6.1. Tổng quản về bộ nhớ đệm

6.2. Chức năng Hash. Danh sách liên kết

6.3. Bộ nhớ đệm vô hiệu hóa

6.4. Các mẫu thiết kế bộ nhớ đệm

6.4.1. Bộ nhớ đệm “Read-aside”

6.4.2. Bộ nhớ đệm “Write-aside”

6.4.3. Bộ nhớ đệm “Read-through”

6.4.4. Bộ nhớ đệm “Write-through”

6.4.5. Bộ nhớ đệm “Write-back”

6.4.6. Bộ nhớ đệm “Write-around”

7. CHƯƠNG 7: SERVICE DISCOVERY & API GATEWAY

7.1. Tổng quan về Service Discovery

7.2. Phân loại Service Discovery

7.3. Client side Service Discovery

7.4. Server side Service Discovery

7.5. Phân loại hình thức đăng ký

7.6. Đăng ký bên thứ 3

7.7. Tổng quan về API Gateway

8. CHƯƠNG 8: CONSENSUS

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

8.2. Các use-case của sự thống nhất

8.3. Bầu chọn leader

8.4. Khóa phân phối

8.5. Truyền tải nguyên tử. Thuật toán Raft

8.5.1. Khái quát về Raft

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

8.5.3. Cơ chế giao tiếp

8.5.4. Sự phân kỳ giữa các nút

8.5.5. Giải quyết sự phân kỳ

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

9. CHƯƠNG 9: DEPLOYMENT

9.1. Các vấn đề khi triển khai một hệ thống

9.2. Các mẫu triển khai

9.2.1. Multiple Service Instances per Host

9.2.2. Single Service Instance per Host

9.3. Tổng quan về Docker

9.4. Triển khai microservices với Docker

9.5. Tổng quan về Kubernetes

9.6. Tổng quan về Helm

10. CHƯƠNG 10: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG SPRING BOOT

10.1. Tổng quan về Spring

10.2. Tổng quan về Spring Boot

10.3. Các tính năng chính của Spring Boot

10.4. Kiến trúc của Spring Boot. Spring Boot starter

10.5. Spring Data JPA

10.6. Spring Config Server

10.7. Spring Boot với Eureka

10.8. Sping Cloud Gateway

10.9. Spring Boot Cache

10.10. Spring Boot Actuator

10.11. Spring Boot Security, OAuth2, JWT. Spring Boot Security

10.12. Spring Cloud Resilience4j

10.13. Spring Boot với Feign

10.14. Spring Boot với docker

11. CHƯƠNG 11: DEMO VÀ TỔNG KẾT

11.1. Hướng dẫn cài đặt và chạy ứng dụng

TÀI LIỆU THAM KHẢO

Đồ án 1 xây dựng hệ thống với spring boot