Thiết Kế Hệ Thống Phần Mềm: Tổng Quan và Các Nguyên Tắc Cơ Bản

Người đăng

Ẩn danh

Thể loại

thesis

2023

104
0
0

Phí lưu trữ

30.000 VNĐ

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.2. Các nguyên lý thiết kế hệ thống

1.2.1. Scalability

1.2.2. Availability

1.2.3. Consistency

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

1.3.1. Failure

1.3.2. Fault

1.3.2.1. Node fault
1.3.2.1.1. Crash-stop
1.3.2.1.2. Crash-recovery
1.3.2.1.3. Byzantine fault
1.3.2.2. Network fault

1.3.3. Fault tolerance

1.3.4. Single point of failure

1.4. Byzantine fault

2. CHƯƠNG 2: Load balancer

2.1. Load balancer

2.1.1. Hardware & Software

2.1.2. Tầng xử lý

2.1.3. Thuật toán

2.1.4. Patterns

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

3. CHƯƠNG 3: Caching

3.1. Tổng quan về caching

3.2. Các pattern trong caching

3.3. Reverse proxy cache

3.4. Reverse proxy sidecar cache

3.5. Làm trống cache (Cache eviction)

3.6. Các pattern truy cập trong caching

3.7. Write-back (Write-behind)

4. CHƯƠNG 4: Microservices

4.1. Miêu tả microservice

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

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

5. CHƯƠNG 5: Service discovery & API Gateway

5.1. Phân loại service discovery

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

5.3. Sử dụng service

5.4. Kiến trúc

6. CHƯƠNG 6: Distributed transactions

6.1. Tổng quan về transaction

6.2. Two-phase commit (2PC)

6.3. Three-phase commit (3PC)

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

7. CHƯƠNG 7: Consensus

7.1. Thuật toán Raft

7.1.1. Khái quát về Raft

7.1.2. Bầu cử leader

7.1.3. Hoạt động bình thường của thuật toán

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

7.2. Nhược điểm

8. CHƯƠNG 8: Deployment

8.1. Multiple instance per host

8.2. Once instance per host

8.3. Kubernetes và Helm

8.4. Grafana

9. CHƯƠNG 9: Xây dựng hệ thống với Spring Boot

9.1. Spring Boot Starter

9.2. Spring Boot mybatis-plus

9.3. Spring Boot spring cache

9.4. Giao diện trừu tượng bộ nhớ cache của Spring

9.5. Một số khái niệm quan trọng và các chú thích về cache

9.6. Spring Boot rabbitmq

9.7. Các tình huống ứng dụng của middleware tin nhắn

9.8. Xử lý bất đồng bộ

9.9. Phân tách ứng dụng

9.10. Giảm đỉnh lưu lượng

9.11. Tổng quan về phần mềm trung gian dịch vụ tin nhắn

9.12. Giới thiệu về RabbitMQ

9.13. Cơ chế hoạt động của RabbitMQ

9.14. Định tuyến tin nhắn trong AMQP

9.15. Loại Trao đổi

9.16. Spring Boot elasticsearch

9.17. Một số khái niệm về Elasticsearch

9.18. Spring Boot docker

9.19. Các kịch bản ứng dụng Docker

9.20. Spring Boot elk

9.21. Spring Boot Admin

9.22. Spring Boot apollo

9.23. Phân biệt giữa Apollo và Spring Cloud Config

9.24. Spring Boot Security, OAuth2 + API, JWT + API, OAuth2 + JWT

9.25. Spring Boot Security

9.26. Quy trình làm việc

9.27. Tổng quan về OAuth2

9.28. Spring Boot Actuator Prometheus

9.29. Thí nghiệm & Minh họa

9.30. Spring Boot Seata

9.31. Giới thiệu về Seata

9.32. Vấn đề giao dịch phân tán trong microservices

9.33. Spring Boot JSR303

9.34. Phụ bản Bean Validation nhúng các chú thích ràng buộc vào

9.35. Spring Boot với Eureka

9.36. Spring Boot với rest+ribbon

9.37. Spring Boot với Feign

9.38. Spring Boot với Hystrix Turbine and Dashboard

9.39. Spring Boot với Gateway

Tài liệu tham khảo