Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Software Architecture & Technology of Large-Scale Systems

Kiến trúc Phần mềm & Công nghệ cho Hệ thống Quy mô Lớn

Kiến trúc Phần mềm & Công nghệ cho Hệ thống Quy mô Lớn

Học cách kiến trúc hệ thống phần mềm với Hiệu suất cao, Khả năng Mở rộng, Tính sẵn sàng và Bảo mật bằng Công nghệ Hiện đại

4.5
(8,009 đánh giá)
79,253 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
25.5 giờ video
256 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 18/03/2026

Bạn sẽ học được gì

Kiến trúc Hệ thống và Giải pháp Phần mềm: Chúng ta sẽ bắt đầu với kiến trúc ứng dụng ba tầng cơ bản và nâng cấp dần trong suốt khóa học.
Cách xây dựng một tech stack bằng việc hiểu sâu về kiến trúc của các sản phẩm như Nodejs, Redis, Cassandra, Kafka, Hadoop, Elastic Search,... và nhiều công nghệ khác
Yêu cầu Phi chức năng: Cách thiết kế kiến trúc xem xét các yếu tố Hiệu suất, Khả năng Mở rộng, Độ tin cậy và Bảo mật
Triển khai hệ thống sản xuất quy mô lớn sử dụng các công cụ như Docker & Kubernetes

Yêu cầu

Bạn đang hoặc đã từng là một lập trình viên giỏi, có thể thiết kế code và viết code bằng ít nhất một ngôn ngữ lập trình
Bạn hiểu kiến trúc ba tầng và hiểu khái quát về ứng dụng web, dịch vụ và cơ sở dữ liệu

Đối tượng phù hợp

Dành cho tất cả Nhà phát triển Phần mềm đã biết về Thiết kế Code và muốn học cách Kiến trúc Hệ thống Quy mô Lớn
Dành cho tất cả Kiến trúc sư Phần mềm muốn nâng cao kỹ năng Kiến trúc Phần mềm và Kiến trúc Giải pháp

Nội dung khóa học

7 phần • 256 bài giảng
1 Từ Lập trình viên đến Kiến trúc sư
2 Giới thiệu về hành trình Từ Lập trình viên đến Kiến trúc sư
1 Tổng quan nội dung mô-đun
2 Một hệ thống phần mềm tham chiếu để thảo luận về hiệu suất
3 Hiệu suất là gì
4 Các vấn đề về hiệu suất biểu hiện như thế nào
5 Nguyên tắc về hiệu suất
6 Mục tiêu hiệu suất hệ thống
7 Các chỉ số đo lường hiệu suất
8 Độ trễ yêu cầu tuần tự
9 Độ trễ truyền mạng
10 Tối thiểu hóa độ trễ truyền mạng
11 Độ trễ truy cập bộ nhớ
12 Tối thiểu hóa độ trễ truy cập bộ nhớ
13 Độ trễ truy cập đĩa
14 Tối thiểu hóa độ trễ truy cập đĩa
15 Độ trễ xử lý CPU
16 Tối thiểu hóa độ trễ xử lý CPU
17 Một số chi phí độ trễ phổ biến
18 Độ trễ liên quan đến xử lý đồng thời
19 Định luật Amdahl cho các tác vụ đồng thời
20 Định luật mở rộng phổ quát của Gunther
21 Tranh chấp tài nguyên dùng chung
22 Tối thiểu hóa tranh chấp tài nguyên dùng chung
23 Tối thiểu hóa tranh chấp liên quan đến khóa
24 Khóa Bi quan
25 Khóa Lạc quan
26 Cơ chế So sánh và Hoán đổi
27 Bế tắc
28 Độ trễ liên quan đến tính nhất quán
29 Bộ nhớ đệm
30 Kiến trúc hệ thống cho hiệu suất
31 Bộ nhớ đệm để tăng hiệu suất
32 HTTP Caching cho dữ liệu tĩnh
33 Caching cho dữ liệu động
34 Thách thức liên quan đến caching
35 Tóm tắt
36 Slide bài thuyết trình về Hiệu suất
1 Tổng quan nội dung mô-đun
2 Hiệu suất so với Khả năng Mở rộng
3 Mở rộng theo chiều dọc & chiều ngang
4 Reverse proxy
5 Một hệ thống phần mềm tham chiếu để thảo luận về khả năng mở rộng
6 Nguyên tắc về khả năng mở rộng
7 Tính mô-đun hóa để mở rộng
8 Nhân bản
9 Nhân bản có trạng thái trong ứng dụng web
10 Nhân bản không trạng thái trong ứng dụng web
11 Nhân bản không trạng thái cho dịch vụ
12 Nhân bản cơ sở dữ liệu
13 Các loại nhân bản cơ sở dữ liệu
14 Nhu cầu về các dịch vụ chuyên biệt
15 Dịch vụ chuyên biệt - SOAP/REST
16 Dịch vụ không đồng bộ
17 Xử lý không đồng bộ & khả năng mở rộng
18 Bộ nhớ đệm để mở rộng
19 Phân vùng dọc với micro-services
20 Phân vùng cơ sở dữ liệu
21 Lựa chọn phân vùng cơ sở dữ liệu
22 Định tuyến với phân vùng cơ sở dữ liệu
23 Các phương pháp mở rộng theo chiều ngang
24 Xử lý hệ thống quy mô lớn
25 Cân bằng tải cho nhiều phiên bản
26 Dịch vụ khám phá và cân bằng tải
27 Khám phá bộ cân bằng tải
28 HLB so với SLB
29 Bộ cân bằng tải Layer-7
30 DNS như một bộ cân bằng tải
31 Cân bằng tải máy chủ toàn cầu
32 Nhân bản dữ liệu toàn cầu
33 Tự động mở rộng phiên bản
34 Kiến trúc Micro-Services
35 Động lực cho Micro-Services
36 Kiến trúc Hướng dịch vụ
37 Phong cách Kiến trúc Micro-Services
38 Giao dịch trong Micro-Services
39 Giao dịch Bồi hoàn - Mẫu SAGA
40 Mô hình giao tiếp micro-services
41 Giao dịch hướng sự kiện
42 Mở rộng cực đại với NoSQL và Kafka
43 Tóm tắt
44 Slide bài thuyết trình về Khả năng Mở rộng
1 Tổng quan nội dung mô-đun
2 Sự cố trong hệ thống phân tán quy mô lớn
3 Sự cố một phần hệ thống
4 Các chủ đề kỹ thuật độ tin cậy
5 Độ tin cậy
6 Tính sẵn sàng
7 Tính sẵn sàng cao
8 Khả năng chịu lỗi
9 Thiết kế Khả năng chịu lỗi
10 Thiết kế chịu lỗi
11 Dự phòng
12 Các loại dự phòng
13 Điểm hỏng hóc đơn lẻ
14 Dự phòng thành phần không trạng thái
15 Dự phòng thành phần có trạng thái
16 Dự phòng bộ cân bằng tải
17 Cơ sở hạ tầng trung tâm dữ liệu là SPOF
18 Tạo dự phòng trung tâm dữ liệu
19 Phát hiện lỗi
20 Mô hình lỗi
21 Kiểm tra tình trạng hoạt động
22 Dịch vụ giám sát bên ngoài
23 Giám sát cụm nội bộ
24 Phát hiện lỗi trong hệ thống
25 Khôi phục sau sự cố
26 Khôi phục thành phần không trạng thái
27 Chuyển đổi dự phòng cho thành phần có trạng thái
28 Tính sẵn sàng cao của bộ cân bằng tải
29 Khôi phục cơ sở dữ liệu với hot standby
30 Khôi phục cơ sở dữ liệu với warm standby
31 Khôi phục cơ sở dữ liệu với bản sao lưu cold
32 Tính sẵn sàng cao trong hệ thống quy mô lớn
33 Thực hành tốt nhất về chuyển đổi dự phòng
34 Tính ổn định hệ thống
35 Thời gian chờ
36 Thử lại
37 Bộ ngắt mạch
38 Lỗi Nhanh và Giảm tải
39 Tóm tắt
40 Slide bài thuyết trình về Độ tin cậy
1 Tổng quan nội dung mô-đun
2 Mục tiêu bảo mật
3 Bảo mật mạng
4 Mã hóa khóa đối xứng
5 Mã hóa khóa công khai
6 Giao thức mạng bảo mật
7 SSL và TLS
8 Băm
9 Chữ ký số
10 Chứng chỉ số
11 Chuỗi tin cậy
12 Bắt tay TLS/SSL
13 Kênh mạng bảo mật
14 Tường lửa
15 Bảo mật mạng
16 Quản lý danh tính
17 Xác thực và ủy quyền
18 Xác thực
19 Truyền thông tin xác thực
20 Xác minh thông tin xác thực
21 Xác thực có trạng thái
22 Xác thực không trạng thái
23 Đăng nhập một lần
24 Quản lý truy cập
25 Mô hình kiểm soát truy cập dựa trên vai trò
26 Ví dụ kiểm soát truy cập dựa trên vai trò
27 Ủy quyền
28 Cấp phát token OAuth2
29 Cấp phát token OAuth2 - Luồng Mã
30 Cấp phát token OAuth2 - Luồng Mật khẩu
31 OAuth2 trong một hệ thống
32 Các loại token OAuth2
33 Json Web Tokens
34 Lưu trữ token
35 Bảo mật dữ liệu ở trạng thái nghỉ
36 Bảo mật một Hệ thống Phần mềm
37 Các lỗ hổng phổ biến
38 SQL Injection
39 Tấn công Cross Site Scripting
40 Tấn công Cross Site Resource Forgery
41 Tóm tắt
42 Slide bài thuyết trình về Bảo mật
1 Tổng quan nội dung mô-đun
2 Thách thức triển khai quy mô lớn
3 Triển khai ứng dụng
4 Triển khai cơ sở hạ tầng
5 Vận hành hệ thống
6 Giải pháp triển khai hiện đại
7 Triển khai ứng dụng
8 Triển khai thành phần
9 Tự động hóa triển khai thành phần
10 Triển khai với Máy ảo
11 Cô lập thông qua máy ảo
12 Triển khai với Container
13 Docker containers
14 Triển khai cơ sở hạ tầng
15 Yêu cầu cơ sở hạ tầng
16 Cung cấp và cấu hình
17 Triển khai với container trên Đám mây
18 Triển khai với AWS cloud stack
19 Triển khai với Kubernetes
20 Quản lý vòng đời Kubernetes
21 Đặt tên và định địa chỉ trong Kubernetes
22 Mở rộng Kubernetes với nhiều phiên bản
23 Cân bằng tải trong Kubernetes
24 Tính sẵn sàng cao của Kubernetes
25 Nâng cấp liên tục trong Kubernetes
26 Khả năng của Kubernetes
27 Triển khai ứng dụng với Kubernetes
28 Dịch vụ và khối lượng công việc trong Kubernetes
29 Kiến trúc Kubernetes
30 Nâng cấp hệ thống
31 Cập nhật liên tục
32 Triển khai Canary
33 Triển khai kiểu Tạo lại
34 Triển khai Blue-Green
35 Kiểm thử A/B
36 Tổng kết
37 Slide bài giảng về Triển khai
1 Tổng quan nội dung mô-đun
2 Hệ thống tham chiếu sử dụng nền tảng công nghệ
3 Ứng dụng web
4 Giải pháp cho ứng dụng web
5 Máy chủ web Apache
6 Kiến trúc máy chủ web Apache
7 Khả năng mở rộng của máy chủ web Apache
8 Máy chủ web Nginx
9 Kiến trúc Nginx
10 Nginx với vai trò Reverse Proxy và Bộ nhớ đệm
11 Web Container & Spring Framework
12 Jetty & Spring
13 Node.JS
14 Vòng lặp sự kiện Node.JS
15 Giải pháp Đám mây cho web
16 Lưu trữ đám mây
17 CDN đám mây
18 Dịch vụ
19 Giải pháp Dịch vụ
20 Memcached
21 Kiến trúc Memcached
22 Redis Cache và kiến trúc của nó
23 Giải pháp bộ nhớ đệm đám mây
24 RabbitMQ
25 Kiến trúc RabbitMQ
26 Kiến trúc Kafka
27 Redis Pub/Sub
28 Giải pháp MQ đám mây
29 Kho dữ liệu
30 Giải pháp Kho dữ liệu
31 Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)
32 Kiến trúc mở rộng cho RDBMS
33 Mục tiêu và đánh đổi của NoSQL
34 Amazon DynamoDB
35 Kiến trúc DynamoDB
36 Google BigTable
37 Kiến trúc BigTable
38 HBase
39 Cassandra
40 Tính năng của Cassandra
41 MongoDB
42 Kiến trúc MongoDB
43 Phân tích
44 Giải pháp Phân tích
45 Kiến trúc Logstash
46 Kiến trúc luồng dữ liệu Logstash
47 Fluentd
48 Elasticsearch
49 Kiến trúc Elasticsearch
50 Hadoop HDFS
51 Map-Reduce
52 Apache Spark
53 Xử lý luồng
54 Tổng kết
55 Slide bài giảng về Ngăn xếp Công nghệ

Giới thiệu khóa học

Architecting software systems is a skill that is in huge demand, but it is not a readily available skill. To understand why this skill is rare to find, let's go through a few lines from Martin Fowler's blog on architecture.

He says: Architecture is about the important stuff. Whatever that is. It means that the heart of thinking architecturally about software is to decide what is important, (i.e. what is architectural), and then expend energy on keeping those architectural elements in good condition. For a developer to become an architect, they need to be able to recognize what elements are important, recognizing what elements are likely to result in serious problems should they not be controlled.

It takes a number of years for a developer to learn enough to become an architect. This learning largely depends on the kind of opportunities that you get in your career. Often these opportunities are limited to specific areas of work only.  However, to be an architect, you must possess extensive technical knowledge of as many areas as possible. You must understand all the complexities and challenges in different parts of a system. You need the ability to make upfront decisions by understanding various trade-offs. You should be able to foresee or anticipate critical problems that a system can face during its evolution.

This is where the 'Developer To Architect' course can be very useful for you. It assumes that you already have great development skills, and it builds from there. It extensively covers architecting non-functional properties of a system, handling of large-scale deployments, and internal working of popular open-source products for building software solutions.

To give you some details of what is specifically covered:

  • Architecting non-functional properties like Performance, Scalability, Reliability, Security. 

  • Large-scale deployment and operations using Docker containers and Kubernetes.

  • Internal working of popular open-source products like Node.js, Redis, Kafka, Cassandra, ELK stack, Hadoop, etc for confidently architecting software solutions.

In short, this course will help you learn everything you need to become a 'true' architect in a very short period of time.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Devops
Hiển thị tất cả khoá học Scalability
Hiển thị tất cả khoá học Software Architecture
Hiển thị tất cả khoá học System Design
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊