Hôm nay tôi sẽ giới thiệu sơ lược cho các bạn về một mô hình thiết kế phần mềm phân tán trong ngành lập trình. Đó là mô hình Client-Server... Trước khi đi vào tìm hiểu thì tôi sẽ nêu ra một số câu hỏi được đề cập đến trong bài viết này.
Mô hình Client-Server là gì? Mô hình Client-Server dùng như thế nào? Và khi nào chúng ta sử dụng mô hình Client-Server?
Đầu tiên, mô hình Client-Server (hay còn gọi là mô hình máy Khách-Chủ) là một mô hình mà trong đó Server(Máy Chủ) là một hệ thống máy tính cung cấp các tài nguyên và dịch vụ mạng cho toàn bộ hệ thống mạng sử dụng. Còn một hệ thống máy tính sử dụng các tài nguyên và dịch vụ này được gọi là Client(Máy Khách). Các server thường cố cấu hình mạnh hoặc là những máy tính chuyên dụng và một Server có thể phục vụ rất nhiều Client chứ không nhất thiết là một Client và một Server. Cũng là một máy tính Server nhưng khi đem ra sử dụng chính những tài nguyên và dịch vụ đấy thì máy tính đó cũng được coi là một Client.
Hệ thống Client-Server được sử dụng rất rộng rãi trong thiết kế phần mềm phân tán. Cho dù một Server phải quản lý hàng nghìn Client thiết kế chương trình thì chúng ta cũng chỉ phải quan tâm đến một mối quan hệ là một Server và một Client. Và các tài nguyên và dịch vụ được đặt ở trong một máy chủ Server chứ không phải chứa trong nhiều máy khác nhau. Và chúng ta cũng đơn giản hóa hệ thống này trong nhiều khâu quan trọng như bảo mật, cập nhật chương trình, cập nhật phần mềm, chỉnh sửa... vì vậy đấy là những ưu điểm lớn nhất trong mô hình hệ thống Client-Server.
Tuy nhiên, bên cạnh những ưu điểm tích cực thì mô hình này cũng có những hạn chế của nó. Khi mà tất các tài nguyên và dịch vụ được đặt hết lên vai Server thì nó cũng là một mối nguy hại cho toàn bộ hệ thống máy Khách-Chủ. Giả sử như khi Server bị tấn công hoặc có một số trục trặc gì đấy thì toàn bộ hệ thống sử dụng Client sẽ bị tê liệt hoàn toàn. Và cũng có những trường hợp Server bị treo khi không xử lí kịp rất nhiều nhũng câu hỏi cần trả lời của một hệ thống Client rộng khắp. Để hạn chế những vấn đề này thì người ta thường bố trí một Server có thêm nhiều máy tính theo nhiều cách khác nhau. Và khi nhìn từ Client thì những máy tính này như một Server bình thường.
Hiện nay mô hình Client-Server có một biến thể tương đồng nhưng hoạt động theo cách ngược lại chứ không theo cách thức mà mô hình Client-Server hoạt động. Đó là hệ thống mạng ngang hàng Peer to Peer(P2P). P2P hoạt động theo cách thức tất cả các máy tham gia đều sẽ là Client và Server, các tài nguyên và dịch vụ sẽ nằm phân tán trên tất cả các máy và Client sẽ tự tìm và kết nối với nhau qua một hệ thống tìm kiếm chung. Vậy nên mô hình P2P sẽ triệt tiêu hết những khuyết điểm của mô hình Client-Server, nhưng không hẳn nó không có khuyết điểm. khuyết điểm lớn nhất của nó là tốn nhiều thời gian để duy trì, cài đặt...
Chúng ta cũng có thể coi mạng Internet hiện thời là một mô hình P2P.
Không có nhận xét nào:
Đăng nhận xét