2012-10-24 43 views
27

Tôi đọc ở đâu đó rằng ứng dụng web bao gồm máy chủ web, máy chủ ứng dụng và máy chủ cơ sở dữ liệu. Sự khác nhau giữa ba điều này là gì?Sự khác biệt giữa máy chủ web, máy chủ ứng dụng và máy chủ cơ sở dữ liệu


Tôi hỏi câu hỏi này vì tôi nhớ khi tôi đã tổ chức một trang web, tất cả tôi đã có được một đăng nhập https vào bảng điều khiển của trang web, trong đó tôi đặt tất cả các file trong thư mục htdocs. Không có ba thứ riêng biệt như máy chủ web, máy chủ ứng dụng và máy chủ cơ sở dữ liệu.

Trả lời

26

Web Server -

máy chủ mà trên đó trang web của bạn được lưu trữ. Máy chủ này sẽ đã cài đặt máy chủ web như IIS, apache, vv

Application Server -

máy chủ mà trên đó các ứng dụng tạo của bạn được sử dụng cơ sở dữ liệu, dịch vụ web, vv Máy chủ này sẽ ứng dụng tổ chức lớp kinh doanh (được bao bọc bởi các dịch vụ web), việc theo lịch trình, cửa sổ dịch vụ, vv

Database Server -

Cơ sở dữ liệu máy chủ sẽ có một hoặc bạn m cơ sở dữ liệu quặng tổ chức như Oracle, SQL Server, MySQL, vv


Nếu bạn đang đề cập đến htdocs sau đó nó là một máy chủ Web. Cơ sở dữ liệu bạn đang sử dụng phải được cài đặt trên máy chủ khác nhau, đó là máy chủ Cơ sở dữ liệu của bạn. Máy chủ ứng dụng cũng có thể được cài đặt trên cùng một máy chủ web.

enter image description here

Reference - Deployment Patterns

+0

Nó cũng có cơ sở dữ liệu (MySQL). – OneMoreError

+0

'cơ sở dữ liệu cũng như MySQL'? MySQL là một cơ sở dữ liệu. Tôi tin rằng bạn có máy chủ Web và máy chủ cơ sở dữ liệu trên cùng một máy. Bạn có thể có chúng trên máy khác nhau quá. –

+1

Đọc bài viết sau trên MSDN - http://msdn.microsoft.com/en-us/library/ee658120.aspx –

-4

Web Server: Máy chủ mà trên đó tất cả các yêu cầu HTTP của bạn được xử lý được biết đến như một máy chủ web nơi như Application Server: Bao gồm các dịch vụ của máy chủ web có nghĩa là đáp ứng với các yêu cầu HTTP, nó cũng phản hồi logic nghiệp vụ, do đó không chỉ giới hạn ở giao thức HTTP Ví dụ. máy chủ trò chơi, phòng trò chuyện, v.v.

17

Điều này thường gây nhầm lẫn.

Thứ nhất - "Máy chủ" có thể tham chiếu đến vật lý (máy tính) hoặc điều logic (một phần của phần mềm).

Phần mềm máy chủ web, ứng dụng và cơ sở dữ liệu tất cả có thể chạy trên cùng một máy chủ vật lý hoặc được phân phối trên nhiều máy vật lý. Hầu hết các trang web lớn đều có nhiều máy; hầu hết các gói "người tiêu dùng" lưu trữ chạy trên một hộp duy nhất.

Việc tách logic là như sau.

Máy chủ web xử lý các yêu cầu HTTP (S) và chuyển các yêu cầu này đến "trình xử lý". Chúng có trình xử lý tích hợp cho các yêu cầu tệp - các trang HTML, hình ảnh, CSS, JavaScript, v.v. Bạn có thể thêm các trình xử lý bổ sung cho các yêu cầu mà chúng không thể quản lý - ví dụ: các trang động được máy chủ ứng dụng phân phối. Các máy chủ web thực hiện đặc tả HTTP và biết cách quản lý các tiêu đề yêu cầu và phản hồi.

Máy chủ ứng dụng xử lý các yêu cầu tạo trang động. Vì vậy, thay vì phục vụ một trang HTML được lưu trữ trên ổ đĩa cứng, chúng tự động tạo HTML được gửi đến người dùng cuối. Các ngôn ngữ/khung công tác phổ biến cho đây là Java/JSP, .Net (aspx), PHP, Ruby (trên Rails hoặc không), Python, vv Hầu hết thời gian, phần mềm máy chủ ứng dụng này đang chạy trên cùng một máy chủ vật lý như web máy chủ.

Phần mềm máy chủ cơ sở dữ liệu là nơi ứng dụng lưu trữ thông tin có cấu trúc của nó. Thông thường, điều này có nghĩa là phần mềm tùy chỉnh cho phép máy chủ ứng dụng đặt câu hỏi như "có bao nhiêu mục người dùng x có trong giỏ của họ?", Sử dụng ngôn ngữ lập trình. Ví dụ là MySQL, SQL Server, Oracle (tất cả "cơ sở dữ liệu quan hệ"), và MongoDB, Redis và CouchDB ("NoSQL" giải pháp).

Phần mềm cơ sở dữ liệu có thể chạy trên cùng một máy vật lý với máy chủ web, nhưng nó thường là thứ đầu tiên được lưu trữ trên phần cứng vật lý riêng biệt khi trang web cần mở rộng.

Các vấn đề liên quan