Tìm hiểu về hệ thống phân tán

Tổng quan

Hệ thống phân tán cũng tương tự như hệ thống chia xẻ thời gian nhưng các bộ xử lý không chia xẻ bộ nhớ và đồng hồ, thay vào đó mỗi bộ xử lý có bộ nhớ cục bộ riêng. Các bộ xử lý thông tin với nhau thông qua các đường truyền thông như những bus tốc độ cao hay đường dây điện thoại.

Các bộ xử lý trong hệ phân tán thường khác nhau về kích thước và chức năng. Nó có thể bao gồm máy vi tính, trạm làm việc, máy mini, và những hệ thống máy lớn. Các bộ xử lý thường được tham khảo với nhiều tên khác nhau như site, node, computer v.v…. tùy thuộc vào trạng thái làm việc của chúng.

Tổng quan về hệ thống phân tán

  • Hệ phân tán là tập hợp các máy tính được kết nối với nhau bởi một mạng máy tính va được cài đặt phần mềm hệ phân tán.
  • Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các trạm (máy tính) được kết nối với nhau bởi một mạng máy tính.
  • Hệ phân tán là một tập hợp các máy tính độc lập giao tiếp với người dùng như một hệ thống nhất toàn vẹn

Như vậy, có thể nói hệ phân tán bao gồm mạng máy tính và phần mềm phân tán

LỢI ÍCH CỦA VIỆC TRIỂN KHAI HỆ THỐNG PHÂN TÁN

Có mấy lý do sau mà chúng ta nên triển khai hệ thống phân tán:

  • Có khả năng mở rộng theo chiều ngang: Vì mỗi thành phần trong hệ thống phân tán là một máy tính (hoặc các thành phần khác như mình đã chỉ ra ở trên) nên có thể dễ dàng thêm bớt khi cần, chi phí cũng rẻ.
  • Khả năng chịu lỗi cao: Vì mỗi thành phần đều hoạt động riêng biệt, nên việc có một thành phần ngừng hoạt động cũng không ảnh hưởng tới toàn hệ thống. Nếu xảy ra lỗi, sẽ dễ dàng thay thế hoặc khôi phục.
  • Hiệu năng: Một trong những lợi ích quan trọng nhất của hệ thống phân tán đó là có hiệu năng cao. Do các công việc sẽ được chia đều cho các máy nên chúng có thể xử lý song song.

Đương nhiên là chúng ta sẽ chỉ triển khai hệ thống phân tán khi gặp phải bài toán có những vấn đề như trên. Chứ không phải tất cả các bài toán đều đều phù hợp để triển khai hệ thống phân tán.

KHÓ KHĂN KHI TRIỂN KHAI HỆ THỐNG PHÂN TÁN

Bên cạnh những lợi ích mà mình đã kể ra ở phần trên, thì có một số khó khăn sau khi bạn triển khai một hệ thống phân tán:

  • Quản lý các thành phần: Mỗi thành phần hoạt động riêng biệt, vì vậy có một khó khăn đó là khả năng quản lý các thành phần trong hệ. Cụ thể như:
    • Vai trò của các thành phần: Các thành phần trong hệ phải có mỗi quan hệ với nhau rõ ràng, nếu không sẽ dễ dàng trở thành một “mớ lộn”.
    • Debug, log giữa của các thành phần: Mỗi thành phần hoạt động riêng biệt nên việc debug, log cũng sẽ phức tạp.
  • Lập lịch chạy: Các công việc đẩy vào hệ phân tán có thể sẽ được lập lịch để chạy, vậy sẽ có các vấn đề như: Khi nào chúng cần chạy, khi nào chúng nên chạy và chạy ở đâu trong hệ.
  • Độ trễ: Các thành phần trao đổi với nhau qua mạng, hơn nữa mỗi thành phần có thể có cấu hình khác nhau, vì vậy mà giữa các thành phần sẽ có một độ trễ nhất định.
  • Quan sát toàn hệ thống: Bạn sẽ gặp khó khăn trong việc thu thập báo cáo giữa các thành phần, giám sát các thành phần bởi vì chúng đều hoạt động riêng biệt.

TỔNG KẾT

Tổng kết lại thì hệ thống phân tán đem lại nhiều lợi ích quan trọng, nhưng cũng có không ít khó khăn. Vì vậy mà cần phải cân nhắc kỹ trước khi triển khai một hệ thống phân tán, bởi để có những lợi ích trên thì bạn cũng phải đầu tư kha khá chí phí để giải quyết các khó khăn phát sinh.

Tuy nhiên, khi bài toán bạn gặp phải quá lớn và đạt tới giới hạn xử lý của máy tính ngày nay thì việc triển khai một hệ thống phân tán để xử lý là điều bắt buộc.

Trả lời

Email của bạn sẽ không được hiển thị công khai.