1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Cân bằng tải trong các ứng dụng Web pdf

8 613 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cân bằng tải trong các ứng dụng Web
Định dạng
Số trang 8
Dung lượng 469,78 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cân bằng tải trong các ứng dụng Web Nội dung bài này nhằm mục đích cung cấp một số phương pháp để cân bằng tải trên các nhóm máy chủ cluster ứng dụng Web của bạn.. bằng tải máy chủ, hệ t

Trang 1

Cân bằng tải trong các ứng dụng Web

Nội dung bài này nhằm mục đích cung cấp một số phương pháp để cân bằng tải trên các nhóm máy chủ (cluster) ứng dụng Web của bạn

Cluster là một nhóm các máy chủ chạy đồng thời một ứng dụng Web, quá trình thực hiện liên kết nhóm này làm cho các máy chủ hoạt động như một máy chủ riêng lẻ khi quan sát từ khía cạnh bên ngoài Để cân

Trang 2

bằng tải máy chủ, hệ thống cần phải phân phối các yêu cầu (request) đến nhiều nút khác nhau bên trong cluster máy chủ, với mục đích tối ưu hóa hiệu suất hệ thống Điều này sẽ mang đến cho mạng của bạn hiệu suất cao hơn, khả năng mở rộng (scalability) - tránh rơi vào tình trạng túng thiếu tài

nguyên mạng trong một doanh nghiệp hay một ứng dụng Web nào đó

Khả năng có sẵn cao có thể được hiểu là tình trạng dư thừa Nếu một máy chủ không thể quản lý một yêu cầu thì các máy chủ khác trong cluster đó có quản lý được nó không? Trong một hệ thống có khả năng cung cấp cao, nếu một Web Server bị lỗi thì máy chủ khác sẽ tiếp quản ngay để xử lý yêu cầu

Khả năng mở rộng (Scalability) là khả năng của một ứng dụng có thể hỗ trợ được số lượng người ngày một tăng Nếu nó cần 10ms để một ứng dụng có thể đáp trả cho một yêu cầu thì khoảng thời gian sẽ là bao lâu để nó đáp trả đến 10.000 yêu cầu cùng một lúc? Khả năng mở rộng vô hạn sẽ cho phép nó đáp trả các yêu cầu này chỉ trong khoảng 10ms Khả năng mở rộng là đơn vị

đo cho một loạt các hệ số như số lượng người dùng đồng thời mà một cluster

có thể hỗ trợ và thời gian nó cần để xử lý một yêu cầu

Có hai phương pháp chính để cân bằng tải đó là:

 Luân chuyển vòng DNS

 Sử dụng các bộ cân bằng tải bằng phần cứng

Luân chuyển vòng DNS

Hầu hết trong số các bạn có lẽ đều đã biết rằng, cơ sở dữ liệu DNS (Domain Name Server) bản đồ hóa tên host thành các địa chỉ IP

Trang 3

Khi bạn nhập một URL vào trong trình duyệt (ví dụ như

www.quantrimang.com) thì trình duyệt sẽ gửi một yêu cầu đến DNS yêu cầu

nó trả về địa chỉ IP của site Đây được gọi là việc tra cứu DNS Sau khi trình duyệt Web có được địa chỉ IP cho site thì nó sẽ liên hệ với site bằng địa chỉ

IP, và hiển thị trang mà bạn vừa yêu cầu Máy chủ DNS thường có một địa chỉ IP được bản đồ hóa với một tên site nào đó Trong ví dụ riêng của chúng

tôi thì site là www.quantrimang.com bản đồ hóa thành địa chỉ IP là

222.255.31.160

Để cân bằng tải bằng DNS, máy chủ DNS phải duy trình một số địa chỉ IP khác nhau cho cùng một tên site Nhiều địa chỉ IP thể hiện nhiều máy trong

Trang 4

một cluster, tất cả trong số chúng đều bản đồ hóa đến một tên site logic Trong ví dụ của chúng ta, www.quantrimang.com có thể được cấu hình trên

ba máy chủ trong một cluster với các địa chỉ IP dưới đây:

222.255.31.160

222.255.31.161

222.255.31.162

Trong trường hợp này, máy chủ DNS được bản đồ hóa như sau:

www.quantrimang.com 222.255.31.160

www.quantrimang.com 222.255.31.161

www.quantrimang.com 222.255.31.162

Khi yêu cầu đầu tiên đến được máy chủ DNS, nó sẽ trả về địa chỉ IP

222.255.31.160, máy đầu tiên Khi có yêu cầu thứ hau, nó sẽ trả về địa chỉ

IP thứ hai: 222.255.31.161 Tiếp tục như vậy, với yêu cầu thứ tư, địa chỉ IP đầu tiên lại được lặp lại

Trang 5

Bằng cách sử dụng luân chuyển vòng DNS như ở trên, tất cả các yêu cầu đối với một site nào đó đều được phân phối đều đến tất cả các máy trong cluster Chính vì vậy, với phương pháp cân bằng tải này, tất cả các nút trong cluster đều được sử dụng

Ưu điểm của phương pháp luân chuyển vòng DNS

Các ưu điểm chính của phương pháp này nằm ở chỗ rẻ và dễ dàng:

• Không đắt và dễ dàng thiết lập: Các quản trị viên hệ thống chỉ cần tạo

một số thay đổi trong máy chủ DNS để hỗ trợ được việc luân chuyển vòng,

và nhiều máy chủ DNS đã có sự hỗ trợ này Nó không yêu cầu đến sự thay đổi mã của ứng dụng Web; trong thực tế, các ứng dụng Web không hề biết

về cơ chế cân bằng tải mà nó bị thực hiện

• Đơn giản: Phương pháp này không yêu cầu đến các chuyên gia về mạng

trong việc thiết lập hoặc giỡ rối hệ thống trong trường hợp có vấn đề nào đó xay ra

Nhược điểm của phương pháp này

Có hai nhược điểm chính của phương pháp dựa trên phần mềm này là nó không cung cấp sự hỗ trợ mối quan hệ thời gian thực giữa các máy chủ với nhau và không hỗ trợ khả năng có sẵn cao

- Không hỗ trợ mối quan hệ thời gian thực giữa các máy chủ Mối quan

Trang 6

hệ thời gian thực giữa các máy chủ là khả năng của hệ thống trong việc quản

lý các yêu cầu của người dùng, máy chủ này hoặc bất kỳ máy chủ nào, phụ thuộc vào thông tin session được duy trì trên máy chủ hoặc tại mức cơ sở bản, mức cơ sở dữ liệu

Không có được khả năng hỗ trợ mối quan hệ giữa các máy chủ, phương pháp luân chuyển vòng DNS dựa vào một trong ba phương pháp đã được đưa ra để duy trì sự kiểm soát session hoặc sự nhận dạng người dùng đối với các yêu cầu đang đến trên HTTP

 Các cookie

 Các trường ẩn

 Viết lại URL

Khi một người dùng thực hiện một yêu cầu đầu tiên, máy chủ Web sẽ trả một thẻ bằng văn bản duy nhất để phân biệt người dùng đó Các yêu cầu tiếp theo có thẻ này để sử dụng cookie, viết lại URL hoặc các trường ẩn, cho phép máy chủ xuất hiện để duy trì một session giữa máy khách và máy chủ Khi người dùng thiết lập một session với một máy chủ, thì tất cả các yêu cầu đến sau thường đều đi đến cùng một máy chủ

Vấn đề ở đây là trình duyệt lưu địa chỉ IP của máy chủ đó Khi Cache hết hạn, trình duyệt sẽ thực hiện một yêu cầu khác đối với máy chủ DNS để có được địa chỉ IP có liên kết với tên miền Nếu máy chủ DNS trả về một địa chỉ IP khác, một máy chủ khác trong cluster, thì các thông tin về session sẽ

bị mất

- Không hỗ trợ cho khả năng có sẵn cao Xem xét một cluster có n nút

Trang 7

Nếu một nút nào đó gặp vấn đề thì cứ yêu cầu thứ n đến máy chủ DNS đều hướng bạn đến một nút hỏng này Một router thông minh có thể giải quyết được vấn đề này bằng cách kiểm tra các nút ở các khoảng thời gian nào đó, phát hiện ra các nút bị hỏng và gỡ bỏ chúng ra khỏi danh sách, chính vì vậy

sẽ không có yêu cầu nào được gửi đến chúng nữa Tuy vậy, vấn đề ở đây vẫn tồn tại nếu nút vẫn có nhưng ứng dụng Web đang chạy trên nút đã bị hỏng

Thay đổi cluster sẽ mất nhiều thời gian để truyền bá đến toàn bộ phần còn lại của Internet Một lý do ở đây là trong nhiều tổ chức lớn – các ISP, các công

ty, hay đại lý – lưu các yêu cầu DNS của họ để giảm lưu lượng mạng và thời gian request Khi người dùng bên trong các tổ chức như vậy thực hiện một request thì hệ thống sẽ được kiểm tra danh sách các tên DNS của Cache đã được bản đồ hóa địa chỉ IP Nếu hệ thống phát hiện thấy một entry nào thì

nó sẽ trả địa chỉ IP về cho người dùng Nếu nó không phát hiện thấy entry nào trong Cache nội bộ thì ISP sẽ gửi request DNS này đến máy chủ DNS

và lưu sự đáp trả

Khi một entry đã được lưu hết hạn, ISP sẽ nâng cấp cơ sở dữ liệu nội bộ của

nó bằng cách liên hệ với các máy chủ DNS khác Khi danh sách các máy chủ của bạn thay đổi, nó có thể cần đến một khoảng thời gian ngắn cho các entry đã được lưu trên mạng của các tổ chức khác hết hạn và tìm kiếm danh sách các máy chủ đã được cập nhật Trong suốt chu trình này, máy khách vẫn có thể thực hiện hành động “hit” nút máy chủ bị hỏng, nếu ISP của máy khách đó vẫn có một entry trỏ đến nó Trong trường hợp như vậy, một số người dùng của ISP đó không thể truy cập vào site của bạn từ những lần truy cập ban đầu, thậm trí nếu cluster của bạn có các máy chủ dư thừa vẫn đang

Trang 8

hoạt động

Một vấn đề còn lớn hơn xuất hiên khi gỡ bỏ (removing) một nút so với việc

bổ sung Khi bạn bớt đi một nút, người dùng có thể đang thực hiện “hit” một máy chủ không tồn tại Còn khi bạn thêm một nút thì máy chủ đó vẫn chưa được sử dụng cho tới khi địa chỉ IP của nó đến được tất cả các máy chủ DNS

Mặc dù phương pháp này có thể cân bằng được một số lượng người dùng trên mỗi máy chủ, nhưng nó không hoàn toàn cân bằng tải máy chủ Một số người dùng có thể yêu cầu mức tải cao hơn trong suốt một session của họ so với những người dùng khác ở trên máy chủ khác, và phương pháp này

không thể bảo đảm chống lại được sự bất công bằng đó

hfghfghfghfghfghfgg

Ngày đăng: 26/01/2014, 05:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w