Bước tới nội dung

Máy chủ

Bách khoa toàn thư mở Wikipedia
(Đổi hướng từ Server)
Sơ đồ mạng máy tính của các máy khách giao tiếp với máy chủ thông qua Internet (Lưu trữ 2020-09-29 tại Wayback Machine)
Một số máy chủ của Wikimedia
Máy Lưu trữ 2020-09-29 tại Wayback Machine chủ WWW đầu tiên đặt tại CERN với nhãn dán ban đầu của nó có nội dung: "Máy này là một máy chủ. KHÔNG TẮT MÁY NÀY!!"

Trong điện toán, một máy chủ hay máy phục vụ (tiếng Anh: server) là một phần của máy tính phần cứng hoặc phần mềm (chương trình máy tính) mà cung cấp chức năng cho các chương trình khác hoặc các thiết bị, được gọi là "máy khách". Kiến trúc này được gọi là mô hình khách – chủ. Máy chủ có thể cung cấp các chức năng khác nhau, thường được gọi là "dịch vụ", chẳng hạn như chia sẻ dữ liệu hoặc tài nguyên giữa nhiều máy khách hoặc thực hiện tính toán cho một máy khách. Một máy chủ duy nhất có thể phục vụ nhiều máy khách và một máy khách có thể sử dụng nhiều máy chủ. Quy trình máy khách có thể chạy trên cùng một thiết bị hoặc có thể kết nối qua mạng với máy chủ trên một thiết bị khác.[1] Các máy chủ điển hình là máy chủ cơ sở dữ liệu, máy chủ tập tin, máy chủ thư, máy chủ in, máy chủ web, máy chủ trò chơimáy chủ ứng dụng.[2]

Các hệ thống máy khách-máy chủ ngày nay được triển khai thường xuyên nhất bởi (và thường được xác định bằng) mô hình yêu cầu-phản hồi: máy khách gửi một yêu cầu đến máy chủ, thực hiện một số hành động và gửi phản hồi trở lại máy khách, thường kèm theo một kết quả hoặc xác nhận. Việc chỉ định một máy tính là "phần cứng cấp máy chủ" ngụ ý rằng nó chuyên dùng để chạy các máy chủ trên đó. Điều này thường ngụ ý rằng nó mạnh hơn và đáng tin cậy hơn các máy tính cá nhân tiêu chuẩn, nhưng cách khác, các cụm máy tính lớn có thể bao gồm nhiều thành phần máy chủ tương đối đơn giản, có thể thay thế được.

Lịch sử

[sửa | sửa mã nguồn]

Việc sử dụng máy chủ từ trong máy tính xuất phát từ lý thuyết xếp hàng,[3] nơi nó có từ giữa thế kỷ 20, được sử dụng đặc biệt trong Kendall (1953) (cùng với "dịch vụ"), bài báo giới thiệu ký hiệu của Kendall. Trong các tài liệu trước đó, chẳng hạn như Erlang (1909), các thuật ngữ cụ thể hơn như "máy điều hành [điện thoại]" được sử dụng.

Trong máy tính, "máy chủ" có niên đại ít nhất là từ RFC 5 (1969),[4] một trong những tài liệu sớm nhất mô tả ARPANET (tiền thân của Internet), và tương phản với "người dùng", phân biệt hai loại máy chủ mạng: "máy chủ- máy chủ lưu trữ "và" máy chủ người dùng ". Việc sử dụng "phục vụ" cũng có từ các tài liệu ban đầu, chẳng hạn như RFC 4,[5] tương phản giữa "máy chủ phục vụ" với "máy chủ lưu trữ sử dụng".

Hoạt động

[sửa | sửa mã nguồn]
Mạng Lưu trữ 2020-09-29 tại Wayback Machine dựa trên mô hình máy khách-máy chủ trong đó nhiều máy khách cá nhân yêu cầu dịch vụ và tài nguyên từ các máy chủ tập trung

Nói một cách chính xác, thuật ngữ máy chủ đề cập đến một chương trình hoặc quy trình máy tính (chương trình đang chạy). Thông qua phép ẩn dụ, nó đề cập đến một thiết bị được sử dụng để (hoặc một thiết bị dành riêng cho) chạy một hoặc một số chương trình máy chủ. Trên mạng, một thiết bị như vậy được gọi là máy chủ . Ngoài máy chủ, các từ phục vụphục vụ (như danh từ và như động từ) thường được sử dụng, mặc dù người phục vụngười hầu thì không. [a] Từ server (danh từ) có thể đề cập đến dạng trừu tượng của chức năng, ví dụ: Dịch vụ web. Ngoài ra, nó có thể đề cập đến một chương trình máy tính biến máy tính thành máy chủ, ví dụ: Dịch vụ Windows. Ban đầu được sử dụng là "máy chủ phục vụ người dùng" (và "người dùng sử dụng máy chủ"), theo nghĩa "tuân theo", ngày nay người ta thường nói rằng "máy chủ phục vụ dữ liệu", cùng nghĩa với "cho". Ví dụ: máy chủ web "lấy thông tin các trang web cho người dùng" hoặc "phục vụ các yêu cầu của họ".

Máy chủ là một phần của mô hình máy khách-máy chủ; trong mô hình này, một máy chủ phục vụ dữ liệu cho các máy khách. Bản chất của giao tiếp giữa máy khách và máy chủ là yêu cầu và phản hồi. Điều này trái ngược với mô hình ngang hàng trong đó mối quan hệ là tương hỗ theo yêu cầu. Về nguyên tắc, bất kỳ quy trình được máy tính hóa nào có thể được sử dụng hoặc gọi bởi một quy trình khác (đặc biệt là từ xa, đặc biệt là để chia sẻ tài nguyên) là một máy chủ và quy trình gọi hoặc các quy trình là một máy khách. Vì vậy, bất kỳ máy tính đa năng nào được kết nối với mạng đều có thể lưu trữ các máy chủ. Ví dụ: nếu các tệp trên thiết bị được chia sẻ bởi một số quá trình, thì quá trình đó là một máy chủ tệp. Tương tự, phần mềm máy chủ web có thể chạy trên bất kỳ máy tính nào có khả năng và do đó máy tính xách tay hoặc máy tính cá nhân có thể lưu trữ một máy chủ web.

Mặc dù yêu cầu-phản hồi là thiết kế máy khách-máy chủ phổ biến nhất, nhưng vẫn có những thiết kế khác, chẳng hạn như mô hình đăng ký xuất bản. Trong mô hình đăng ký xuất bản, khách hàng đăng ký với một máy chủ pub-sub, đăng ký các loại thông báo được chỉ định; đăng ký ban đầu này có thể được thực hiện theo yêu cầu-phản hồi. Sau đó, máy chủ pub-sub sẽ chuyển tiếp các thông điệp phù hợp đến các máy khách mà không có bất kỳ yêu cầu nào khác: máy chủ đẩy các thông báo đến máy khách, thay vì máy khách kéo các thông báo từ máy chủ như trong phản hồi yêu cầu.[6]

Phân loại

[sửa | sửa mã nguồn]
  1. ^ A CORBA servant is a server-side object to which method calls from remote method invocation are forwarded, but this is an uncommon usage.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Windows Server Administration Fundamentals. Microsoft Official Academic Course. 111 River Street, Hoboken, NJ 07030: John Wiley & Sons. 2011. tr. 2–3. ISBN 978-0-470-90182-3.Quản lý CS1: địa điểm (liên kết)
  2. ^ Comer, Douglas E.; Stevens, David L (1993). Vol III: Client-Server Programming and Applications. Internetworking with TCP/IP. Department of Computer Sciences, Purdue University, West Lafayette, IN 479: Prentice Hall. tr. 11d. ISBN 978-0-13-474222-9.Quản lý CS1: địa điểm (liên kết)
  3. ^ Richard A. Henle, Boris W. Kuvshinoff, C. M. Kuvshinoff (1992). Desktop computers: in perspective. Oxford University Press. tr. 417. ISBN 9780195070316. Server is a fairly recent computer networking term derived from queuing theory.Quản lý CS1: sử dụng tham số tác giả (liên kết)
  4. ^ Rulifson, Jeff (June 1969). DEL. IETF. RFC 5. https://tools.ietf.org/html/rfc5. Truy cập ngày 30 tháng 11 năm 2013. 
  5. ^ Shapiro, Elmer B. (March 1969). Network Timetable. IETF. RFC 4. https://tools.ietf.org/html/rfc4. Truy cập ngày 30 tháng 11 năm 2013. 
  6. ^ Using the HTTP Publish-Subscribe Server, Oracle