Trang chủ Cloud Computing

Tổng quan về Front-end server và back-end server là gì?

Tổng quan về Front-end server và back-end server là gì?

Tổng quan về Front-end server và back-end server

Khi bạn sở hữu một server farm, một số máy chủ sẽ được chỉ định cho mục đích nhận requests và gửi chúng đến các máy chủ khác. Các máy chủ này được gọi là front-end server.

Các máy chủ thực hiện các quá trình xử lý thực tế được gọi là back-end servers.

Điều này cải thiện khả năng mở rộng của các dịch vụ. Bạn có thể cung cấp nhiều front-end servers truy cập cùng một back-end server hoặc một front-end server với nhiều back-end servers, nơi front-end server hoạt động như một bộ cân bằng tải (load balancer).

Kiến trúc của Front-end server và back-end server

Máy chủ front-end là phần mở rộng của máy chủ back-end và được thiết kế để cung cấp khả năng mở rộng. Nhiều FE có thể được kết nối với một BE và mỗi FE có thể có nhiều máy khách kết nối với nó trong một thiết lập phân tán. Chức năng chính do FE thực hiện là phân phối các yêu cầu nhận được từ khách hàng. FE quan tâm đến việc tạo ra các database views thông qua các hoạt động đọc cơ sở dữ liệu bằng cách sử dụng một kiến trúc hoàn toàn không trạng thái (stateless architecture). Điều này giúp cung cấp thông tin chính xác mọi lúc.

Tổng quan về Front-end server và back-end server là gì?  - Ảnh 1.

 Một web server xử lý các requests từ người dùng, xử lý yêu cầu và trả về dữ liệu. Chúng xử lý lưu lượng HTTP/S và dựa vào Internet Information Server (IIS) để cung cấp các web server 'stack'. Trong một farm có thể có nhiều máy chủ Web Front End (WFE) và Bộ cân bằng tải mạng (NLB) phân phối các requests giữa chúng.

Đây là phương pháp chính của việc mở rộng và dự phòng, khi số lượng người dùng tăng lên, bạn thêm nhiều máy chủ WFE, hoặc nếu một WFE không thành công, NLB có thể phân phối các yêu cầu tới các WFE khác.

Thành phần

Tổng quan về Front-end server và back-end server là gì?  - Ảnh 2.

    1. Lớp giao tiếp máy khách (Client Communication Layer)

Client Communication Layer cung cấp một loạt các tùy chọn về giao thức truyền tải, như TCP, RMI, HTTP, HTTPS, SSL,... Để hỗ trợ các bộ máy khách khác nhau, chẳng hạn như Java (session based) client, HTML client, RMI (Client API based) clients,... Client Communication Layer sở hữu một bộ các thành phần phong phú nhận và giải mã các requests từ các máy khách tương ứng và chuyển tiếp chúng đến các SessionBeans.

TransportProvider interface & Client SessionForwarders

Tương tác với Java client và chuyển hướng các read requests tới SessionBeans và cơ sở dữ liệu cam kết các requests tới máy chủ back-end.

Giao diện WebContainer

Cung cấp quyền truy cập Web cho các máy khách và xử lý tất cả các yêu cầu từ HTML client và chuyển tiếp yêu cầu tới SessionBeans.

Giao diện API máy chủ RMI

Cung cấp các API để tạo các views tùy chỉnh và xử lý tất cả các hoạt động đọc cho các RMI Client APIs bằng cách sử dụng SessionBeans.

2. SessionBean Layer

SessionBean Layer tạo thành logic nghiệp vụ cốt lõi của máy chủ front-end. SessionBean Layer có thể triển khai EJB không trạng thái này.

Tạo ra các views từ cơ sở dữ liệu (Custom Views) dựa trên các yêu cầu của máy khách.

Chuyển tiếp yêu cầu commit tới máy chủ back-end bằng cách sử dụng các API proxy RMI front-end.

3. Back-End Communication Layer

Back-End Communication Layer chuyển tiếp database commit requests được sinh ra từ các máy khách đến máy chủ back-end và thông báo cho các máy khách đã đăng ký về bất kỳ cập nhật nào từ máy chủ back-end. Layer này cũng có bộ giao diện khác nhau để giao tiếp với máy chủ back-end.

Cập nhật Handler xử lý tất cả các bản cập nhật hoặc thông báo từ máy chủ back-end và chuyển tiếp chúng đến các khách hàng đã đăng ký để nhận các thông báo như vậy.

Back-end Socket Interface chuyển tiếp database commit requests đến máy chủ back-end tương ứng thông qua kết nối socket.

RMI Proxy API chuyển tiếp các yêu cầu ghi tới mô đun máy chủ back-end tương ứng của mô-đun RMI API.

Tham khảo:

http://www.pentalogic.net/sharepoint-knowledge-base/glossary/web-front-end-server-wfe

https://www.quora.com/What-is-a-front-end-server

https://www.webnms.com/telecom/help/developer_guide/modules_and_services_overview/befearch.html

>> Có thể bạn quan tâm: Server - Máy chủ là gì? Có mấy loại server? Lựa chọn server như thế nào?