FROM DEV to TA

🚩 Introduction to Distributed Systems

EP1. What is a Distributed System?
Link:
https://hitim.blog/ep1-what-is-a-distributed-system/

Bài viết mở đầu giới thiệu khái niệm hệ thống phân tán, các đặc điểm cốt lõi và lý do vì sao distributed systems trở thành nền tảng cho hầu hết các hệ thống hiện đại ngày nay.


EP2. Fallacies of Distributed Computing
Link:
https://hitim.blog/ep2-fallacies-of-distributed-computing/

Phân tích các ngộ nhận phổ biến khi thiết kế hệ thống phân tán, giúp người đọc hiểu rõ những giả định sai lầm thường dẫn đến các quyết định kiến trúc rủi ro.


EP3. Difficulties in Designing Distributed Systems
Link:
https://hitim.blog/ep3-difficulties-designing-distributed-systems/

Trình bày những khó khăn cốt lõi trong quá trình thiết kế hệ thống phân tán như độ trễ, đồng bộ, tính nhất quán và quản lý lỗi trong môi trường phân tán.


EP4. Measures of Correctness in Distributed Systems
Link:
https://hitim.blog/ep4-measures-of-correctness-in-distributed-systems/

Giới thiệu các tiêu chí đánh giá tính đúng đắn của hệ thống phân tán, bao gồm an toàn (safety), sống còn (liveness) và các khái niệm liên quan.


EP5. System Models (Mô hình hệ thống)
Link:
https://hitim.blog/ep5-system-models-mo-hinh-he-thong/

Phân tích các mô hình hệ thống trong distributed systems, làm rõ các giả định về thời gian, mạng và lỗi, từ đó ảnh hưởng đến thiết kế và kiểm chứng hệ thống.


EP6. Types of Failures (Các loại lỗi)
Link:
https://hitim.blog/ep6-types-of-failures-cac-loai-loi/

Phân loại và giải thích các dạng lỗi thường gặp trong hệ thống phân tán, giúp người đọc hiểu rõ cách lỗi phát sinh và tác động của chúng đến toàn hệ thống.


EP7. The Tale of Exactly-Once Semantics
Link:
https://hitim.blog/ep7-the-tale-of-exactly-once-semantics/

Bàn về khái niệm exactly-once semantics, những thách thức trong việc hiện thực hóa và vì sao nó thường chỉ mang tính lý thuyết trong hệ thống phân tán thực tế.


EP8. Failure in the World of Distributed Systems
Link:
https://hitim.blog/ep8-failure-in-the-world-of-distributed-systems/

Đi sâu vào cách lỗi xảy ra trong môi trường phân tán thực tế, từ lỗi phần cứng, mạng cho đến lỗi con người, và cách hệ thống cần được thiết kế để chịu lỗi.


EP9. Stateless and Stateful Systems
Link:
https://hitim.blog/ep9-stateless-and-stateful-systems/

So sánh hai mô hình stateless và stateful trong distributed systems, phân tích ưu nhược điểm và ảnh hưởng của chúng đến khả năng mở rộng và vận hành hệ thống.


EP1. What is a Tier?
Link:
https://hitim.blog/ep1-what-is-a-tier/

Bài viết giới thiệu khái niệm tier trong kiến trúc phần mềm, phân biệt rõ giữa tier và layer, cũng như vai trò của từng tier trong việc tổ chức và triển khai hệ thống.


EP2. Single-Tier Applications
Link:
https://hitim.blog/ep2-single-tier-applications/

Phân tích kiến trúc single-tier, nơi toàn bộ giao diện, logic xử lý và dữ liệu nằm trong cùng một tầng. Bài viết làm rõ ưu điểm về sự đơn giản, đồng thời chỉ ra các hạn chế về khả năng mở rộng và bảo trì.


EP3. Two-Tier Applications
Link:
https://hitim.blog/ep3-two-tier-applications/

Giải thích mô hình two-tier (client–server), cách phân tách giữa client và database/server, cùng các ví dụ phổ biến trong những hệ thống ứng dụng truyền thống.


EP4. Three-Tier Applications
Link:
https://hitim.blog/ep4-three-tier-applications/

Bài viết trình bày kiến trúc three-tier gồm presentation, application và database tier — mô hình phổ biến trong các ứng dụng web hiện đại, giúp cải thiện khả năng bảo trì và mở rộng hệ thống.


EP5. N-Tier Applications
Link:
https://hitim.blog/ep5-n-tier-applications/

Mở rộng từ three-tier lên n-tier, tập trung vào kiến trúc phân tầng phức tạp hơn, khả năng mở rộng cao, hệ thống phân tán và các kịch bản sử dụng trong môi trường enterprise quy mô lớn.


EP1. Monolithic Architecture là gì?
Link:
https://hitim.blog/ep1-monolithic-architecture-la-gi/

Bài viết giới thiệu kiến trúc Monolithic, cách hệ thống nguyên khối được tổ chức, đặc điểm liên kết chặt chẽ giữa các thành phần, cùng các ví dụ thực tế để hình dung cách kiến trúc này vận hành.


EP2. When should you pick a Monolithic Architecture?
Link:
https://hitim.blog/ep2-when-should-you-pick-a-monolithic-architecture/

Phân tích khi nào nên lựa chọn kiến trúc Monolithic, ưu điểm về độ đơn giản, chi phí vận hành thấp, cũng như những giới hạn khi hệ thống bắt đầu mở rộng.


EP3. What is Microservice Architecture?
Link:
https://hitim.blog/ep3-what-is-microservice-architecture/

Bài viết giải thích Microservices Architecture là gì, cách các service nhỏ, liên kết lỏng lẻo phối hợp để tạo thành một hệ thống phân tán, và các nguyên tắc thiết kế cốt lõi được áp dụng.


EP4. When should you pick Microservices Architecture?
Link:
https://hitim.blog/ep4-when-should-you-pick-microservices-architecture/

Tập trung vào các trường hợp sử dụng phù hợp cho microservices, khả năng mở rộng, triển khai độc lập, cũng như chi phí và độ phức tạp mà kiến trúc này mang lại.


EP5. Monolith and Microservices: Understanding the Trade-Offs
Link:
https://hitim.blog/ep5-monolith-and-microservices-understanding-the-trade-offs/

Bài tổng hợp và so sánh các trade-offs giữa Monolithic và Microservices, bao gồm khả năng cô lập lỗi (fault isolation), quyền tự chủ của đội phát triển, độ phức tạp vận hành và các ví dụ thực tế như Segment và Istio.