Xem thêm

Client Server: Hiểu rõ mô hình này là gì và ưu nhược điểm của nó

Huy Erick
Tìm hiểu khái niệm mô hình Client Server Mô hình Client Server, hay kiến ​​trúc máy chủ-máy khách, là một khung ứng dụng nhằm phân chia nhiệm vụ giữa máy chủ và máy khách. Cả...

Client Server là gì? Điều cần biết về mô hình Client Server Tìm hiểu khái niệm mô hình Client Server

Mô hình Client Server, hay kiến ​​trúc máy chủ-máy khách, là một khung ứng dụng nhằm phân chia nhiệm vụ giữa máy chủ và máy khách. Cả máy chủ và máy khách đều nằm trong cùng một hệ thống hoặc giao tiếp qua mạng máy tính hoặc Internet. Máy khách gửi yêu cầu đến một chương trình khác để truy cập dịch vụ do máy chủ cung cấp. Máy chủ sẽ chạy một hoặc nhiều chương trình chia sẻ tài nguyên và phân phối công việc giữa các máy khách.

Mô hình Client Server rất phổ biến trong mạng máy tính, đây cũng là mô hình của các Website. Trong Client Server, một máy chủ có thể kết nối tới các máy chủ khác để tăng tính hiệu quả và tốc độ. Lúc này, khi nhận được yêu cầu từ máy khách, máy chủ có thể gửi yêu cầu đến một máy chủ khác xử lý (chẳng hạn như database), vì chính nó không xử lý được.

Các ví dụ về Client Server

Mô hình Client Server đang rất phổ biến, dưới đây là một số ứng dụng Cloud Server thực tế thường gặp:

  • Web Server (máy chủ Web): Người dùng nhập địa chỉ trang Web vào trình duyệt trên máy tính để truy cập. Yêu cầu này được gửi tới máy chủ Web bởi máy khách. Sau đó, máy chủ Web sẽ gửi lại toàn bộ nội dung trang Web về máy khách ban đầu.
  • Mail Server: Người dùng soạn Email và gửi đi, máy khách sẽ gửi email này đến Mail Server. Lúc này, Mail Server sẽ tiếp nhận email, lưu trữ và tìm kiếm địa chỉ email cần gửi để xử lý yêu cầu.
  • File Server: Các máy khách trao đổi thông tin dữ liệu với File Server - máy chủ có chức năng lưu trữ và truyền dữ liệu. Chúng ta sử dụng trình duyệt hoặc giao thức FTP để tải lên, tải xuống các tập tin từ máy chủ.

Một ví dụ khác minh họa cho việc áp dụng mô hình client - server như sau:

Khi khách hàng truy cập trực tuyến vào một dịch vụ ngân hàng bằng trình duyệt web (máy khách - client), máy khách sẽ bắt đầu yêu cầu tới máy chủ web (web server) của ngân hàng. Thông tin đăng nhập của khách hàng có thể được lưu trữ trong cơ sở dữ liệu và máy chủ web truy cập vào máy chủ cơ sở dữ liệu (database server) với tư cách là máy khách. Máy chủ ứng dụng (application server) đảm nhận việc thông dịch dữ liệu được truy xuất từ cơ sở dữ liệu bằng cách áp dụng logic nghiệp vụ (bank's business logic) của ngân hàng và cung cấp đầu ra cho máy chủ web. Cuối cùng, máy chủ web trả kết quả về trình duyệt web của máy khách để hiển thị.

Toàn bộ quy trình này là chuỗi trao đổi tin nhắn giữa client và server, tuân theo mô hình yêu cầu - phản hồi. Trình tự kết thúc khi tất cả các yêu cầu đã được thực hiện và trình duyệt web sẽ hiển thị dữ liệu cho khách hàng.

Cách hoạt động của mô hình Client Server

Cách hoạt động của mô hình Client Server

Trong Client Server, Server sẽ chấp nhận tất cả các yêu cầu hợp lệ và trả kết quả về lại cho Client (thường là các máy tính). Bất kỳ máy tính hoặc thiết bị điện tử nào gửi yêu cầu đến Server và chờ được phản hồi đều có thể được coi là Client.

Máy khách và máy chủ giao tiếp với nhau thông qua một giao thức. Giao thức là một tập hợp các quy tắc mà cả máy chủ và máy khách đều phải tuân theo. Hiện nay, có một số giao thức phổ biến là HTTPS, TCP/IP, FTP,... Các máy khách đều cần phải tuân theo giao thức của máy chủ.

Nếu yêu cấp của máy khách hợp lệ và được chấp nhận, máy chủ sẽ tìm kiếm mọi thông tin dữ liệu cần thiết và phản hồi lại cho máy khách. Máy chủ luôn trong trạng thái sẵn sàng, nên khi máy khách gửi yêu cầu và nếu được chấp nhận, máy chủ sẽ trả kết quả về hầu như là ngay lập tức.

Tóm lại một cách ngắn gọn về cách hoạt động của mô hình client server như sau:

  • Đầu tiên, khách hàng gửi yêu cầu thông qua các thiết bị hỗ trợ mạng
  • Sau đó, máy chủ mạng chấp nhận và xử lý yêu cầu từ người dùng
  • Cuối cùng, máy chủ sẽ gửi phản hồi cho máy khách.

Kiến trúc 3 tầng của Client Server là gì

Kiến trúc Client Server 3 tầng bao gồm 3 tầng trình bày khác nhau:

  • Tầng giao diện người dùng (User Interface): Lớp này đảm nhiệm vai trò cung cấp giao diện cho người dùng, thường là các máy khách
  • Tầng dịch vụ (Middleware): Lớp này có vai trò xử lý chi tiết.
  • Tầng máy chủ cơ sở dữ liệu (Database): Lớp này có vai trò lưu trữ thông tin, thường là các máy chủ.

Máy chủ sẽ lưu trữ, giám sát thông tin trong tầng Database và điều khiển, xử lý tầng Middleware. Dưới đây là hình ảnh kiến trúc 3 tầng của mô hình Client Server:

Kiến trúc 3 tầng của mô hình Client Server

Ưu nhược điểm của Client Server

Mô hình Client Server có nhiều ưu nhược điểm mà doanh nghiệp cần biết trước khi sử dụng:

Ưu điểm

  • Cho phép người dùng làm việc trên bất kỳ máy tính nào, miễn là có giao thức truyền thông chung phù hợp.
  • Giúp chống tình trạng quá tải trên mạng Internet.
  • Đảm bảo an toàn dữ liệu tốt khi có sự cố bất ngờ xảy ra.
  • Cho phép mở rộng hệ thống mạng.
  • Hỗ trợ tích hợp nhiều công nghệ, kỹ thuật hiện đại (GIS, mô hình hướng đối tượng,...).
  • Dễ dàng truy cập vào mô hình Client Server từ xa để gửi, nhận hoặc tìm kiếm tập tin mình cần.

Nhược điểm

Tuy nhiên, Client Server cũng có một số nhược điểm nhất định doanh nghiệp cần lưu ý:

  • Cần thường xuyên bảo trì và kiểm tra
  • Chi phí sử dụng thường khá cao
  • Bảo mật dữ liệu cũng là một hạn chế của Client Server, vì mô hình này cho phép trao đổi dữ liệu giữa các máy chủ và máy khách ở xa nhau thông qua Internet. Trong quá trình này có thể xuất hiện các lỗ hổng bảo mật

Nhược điểm của Client Server - Tính bảo mật thấp

Phân biệt mô hình Client-Server và P2P

Nhìn chung, mô hình Client-Server khá giống với P2P (Peer to Peer), vì cả 2 đều có máy khách gửi yêu cầu đến máy chủ, sau đó máy chủ chấp nhận và gửi lại kết quả cho máy khách.

Vậy, điểm khác biệt giữa Client Server và P2P là gì? Có một số điểm chính:

Yếu tố P2P Client Server

Chức năng phân quyền Tất cả các máy có quyền ngang nhau trong cùng một mạng Có khác biệt về vai trò rõ rệt giữa máy khách và máy chủ

Yêu cầu quản trị Không cần phải có người quản trị Phải có người quản trị

Các yếu tố phần cứng, phần mềm Có thể không cần máy chủ, hệ điều hành. Phần cứng của P2P khá ít Cần phải có máy chủ và hệ điều hành

Chi phí sử dụng Thấp Cao

Qua đây, chúng ta đã giải thích chi tiết khái niệm Client Server là gì, cũng như các ưu điểm và nhược điểm của nó. Hiện nay, Client Server đang được sử dụng rất phổ biến vì những tính năng và hiệu suất vượt trội.

1