[System Design] Mở đầu
Xin chào mọi người, trong quá trình để trở thành Software Engineer mình đã học hỏi được những kiến thức từ các bạn bè, đồng nghiệp và các anh lớn đi trước trong lĩnh vực này. Trong một lần tình cờ tìm hiểu về System Design mình đã tìm thấy blog của anh namvu, mình đã đọc 1 lèo hết các series System Design của anh. Em xin gửi lời cám ơn đến anh namvu đã dành thời gian viết một series chất lượng đến thế. Mình thấy kiến thức này quá hay và mình học tập được rất nhiều kiến thức từ đây nên mình quyết định repost những nội dung này. Với mục đích để nhớ những gì mình đã đọc, và có thể chia sẻ với những bạn khác chập chững tìm hiểu về System Design như mình. Các bạn để thể đọc nội dung bài viết gốc của anh namvu Cơ bản về thiết kế hệ thống, hoặc đọc series ở đây để ủng hộ mình.
Với tinh thần học hỏi và mục đích chia sẻ, mong rằng anh namvu sẽ ủng hộ việc làm này của mình. Cám ơn mọi người đã đọc đến đây và bây giờ mình đi vào phần 1 ngay và luôn nhé.
Mục lục
- Phần 1: Các tính chất chính của một hệ thống phân tán
- Phần 2: Cân bằng tải (Load Balancing)
- Phần 3: Bộ đệm — Caching
- Phần 4: Phân chia dữ liệu — Sharding/Data Partitioning
- Phần 5: Indexes
- Phần 6: Proxies
- Phần 7: Sao lưu và đồng bộ dữ liệu — Redundancy and Replication
- Phần 8: SQL vs. NoSQL
- Phần 9: Định lý CAP / CAP Theorem
- Phần 10: Consistent Hashing
- Phần 11: Long-Polling vs WebSockets vs Server-Sent Events