Tải bản đầy đủ (.doc) (67 trang)

Công Nghệ Load Balancing

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.08 MB, 67 trang )

MỤC LỤC

LỜI CẢM ƠN..................................................................................................................... i
MỤC LỤC......................................................................................................................... ii
CHƯƠNG 1. TỔNG QUAN............................................................................................1
1.1. Tổng quan về hệ thống cân bằng tải server......................................................1
1.2. Nhiệm vụ cân bằng tải server:...........................................................................1
1.2.1.

Cân bằng tải cho server(server load balancing):.......................................1

1.2.2.

Cân bằng tải cho server toàn cầu(global server load balancing):..............2

1.2.3.

Cân bằng tải cho Firewall(Firewall load balancing):................................2

1.2.4.

Cân bằng tải chuyển mạch cache trong suốt (transparent cache

switching):..................................................................................................................2
1.3. Cấu trúc đồ án:...................................................................................................2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT................................................................................3
2.1. Giới thiệu về công nghệ Loadbalancing............................................................4
2.1.1.

Khái niệm cân bằng tải...............................................................................4


2.1.2.

Các thuật toán cân bằng tải........................................................................4

2.1.3.

Hoạt Động Của cân bằng tải:..................................................................10

2.2. Nhu cầu ứng dụng.............................................................................................11
2.3. Kỹ thuật cân bằng tải:......................................................................................11
2.3.1.

Kiểm tra trạng thái server:.......................................................................11

2.3.2.

Lựa chọn server tốt nhất:..........................................................................12

2.3.3.

Kỹ thuật Session Persistence:...................................................................12

2.3.4.

Cookie:.....................................................................................................13

2.3.5.

Cân bằng tải với proxy:............................................................................16



i
2.3.6.

Cân bằng tải với thiết bị kết nối:..............................................................16

2.3.7.

Xử lý các yêu cầu kết nối tập trung:.........................................................17

2.4. Công nghệ áp dụng:..........................................................................................17
2.4.1.

Kỹ thuật cân bằng tải mạng(network loadbalancing):..............................17

2.4.2.

Sử dụng phần mềm:..................................................................................19

2.4.3.

Sử dụng thiết bị phần cứng:......................................................................19

2.4.4.

Công nghệ DNS Anycast...........................................................................24

2.5. Vấn đề bảo mật của công nghệ Loadbalancing:.............................................24
2.6. Các Mô hình triển khai:...................................................................................25
2.7. Ưu điểm của công nghệ Loadbalancing..........................................................25

2.8. Những tổ chức nào cần có giải pháp cân bằng tải..........................................25
2.9. Kiến trúc xử lý tổng quát:................................................................................25
2.9.1.

Kiến trúc hệ thống cân bằng tải:..............................................................25

2.9.2.

Phân phối lưu lượng trong nhóm:.............................................................27

2.9.3.

Quá trình hội tụ:.......................................................................................35

2.9.4.

Điều khiển từ xa:......................................................................................37

2.9.5.

Hiệu năng cân bằng tải:...........................................................................37

2.9.6.

Thông lượng và thời gian đáp ứng yêu cầu:.............................................37

2.10.

Triển khai và đánh giá hệ thống server load balancing:.............................39


2.11.

Giải pháp server load balancing dựa trên luân chuyển vòng DNS:...........39

CHƯƠNG 3. KẾT QUẢ THỰC NGHIỆM ỨNG DỤNG CÂN BẰNG TẢI VÀO
WEB SERVER...............................................................................................................40
3.1

Mục tiêu của mô hình ứng dụng......................................................................40

3.2

Mô hình ứng dụng............................................................................................40

3.3

Yêu cầu thực hiện.............................................................................................40


ii
3.4

Các công cụ cần thiết để thực hiện mô hình...................................................40

3.5

Các bước triển khai..........................................................................................41

3.6


Demo network load balancing trên web server:.............................................41

3.6.2

Đặt IP cho các máy:.....................................................................................41

3.6.2

Giả lập website trên hai máy web server......................................................44

3.6.2

Cấu hình Network Load Balancing trên máy 2 máy web server:.................46

3.6.4.

Test chức năng Network Load Balancing của 2 máy web server:.............53

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỒ ÁN.......................57
4.1 Kết luận................................................................................................................. 57
4.2 Hướng phát triển..................................................................................................58


1

CHƯƠNG 1. TỔNG QUAN
1.1.Tổng quan về hệ thống cân bằng tải server
Trong thời đại bùng nổ của công nghệ thông tin hiện nay, mạng máy tính đóng vai trò
ngày càng quan trọng hơn trong hoạt động của các doanh nghiệp, tổ chức cũng như các
cơ quan nhà nước. Thậm chí ở một số đơn vị, chẳng hạn như các công ty hàng không

hoặc các ngân hàng lớn, mạng máy tính có thể ví như hệ thần kinh điều khiển hoạt động
của toàn doanh nghiệp. Sự ngừng hoạt động của mạng máy tính hay sự hoạt động kém
hiệu quả của mạng máy tính trong những cơ quan này có thể làm tê liệt các hoạt động
chính của đơn vị, và thiệt hại khó có thể lường trước được.
Chúng ta đều biết các máy chủ là trái tim của mạng máy tính, nếu máy chủ hỏng, hoạt
động của hệ thống sẽ ngưng trệ. Điều đáng tiếc là dù các hãng sản xuất đã cố gắng làm
mọi cách để nâng cao chất lượng của thiết bị, nhưng những hỏng hóc đối với các thiết bị
mạng nói chung và các máy chủ nói riêng là điều không thể tránh khỏi. Do vậy, vấn đề
đặt ra là cần có một giải pháp để đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có
sự cố xảy ra đối với máy chủ. Việc lựa chọn một server đơn lẻ có cấu hình cực mạnh để
đáp ứng nhu cầu này sẽ kéo theo chi phí đầu tư rất lớn và không giải quyết được các vấn
đề đặt ra của các tổ chức. Giải pháp hiệu quả được đưa ra là sử dụng một nhóm server
cùng thực hiện một chức năng dưới sự điều khiển của một công cụ phân phối tải – Giải
pháp cân bằng tải. Có rất nhiều hãng đưa ra giải pháp cân bằng tải như Cisco, Coyote
Point, Sun Microsystem… với rất nhiều tính năng phong phú. Tuy nhiên, về cơ bản,
nguyên tắc cân bằng tải điển hình là RRDNS (Round Robin DNS). Với giải pháp này,
nếu một server trong nhóm bị lỗi, RRDNS sẽ vẫn tiếp tục gửi tải cho server đó cho đến
khi người quản trị mạng phát hiện ra lỗi và tách server này ra khỏi danh sách địa chỉ
DNS. Điều này sẽ gây ra sự đứt quãng dịch vụ. Sau những phát triển, từ các thuật toán
cân bằng tải tĩnh như Round Robin, Weighted Round Robin đến các thuật toán cân bằng
tải động như Least Connection, Weighted Least Connection, Optimized Weight Round
Robin và Optimized Weighted Least Connection, kỹ thuật cân tải hiện nay nhờ sự kết hợp
các thuật toán trên ngày càng trở nên hoàn thiện mặc dù nhược điểm vốn cho như tạo
điểm lỗi đơn và vấn đề nút cổ chai do sử dụng bộ điều phối tập trung(Centralized
dispatcher) vẫn còn. Ngoài khả năng áp dụng với Web server, kỹ thuật này còn có thể áp


2
dụng với các hệ thống server ứng dụng khác. Server Load Balancing không chỉ làm
nhiệm vụ phân phối tải cho các server mà còn cung cấp cơ chế đảm bảo hệ thống server

luôn khả dụng trước các client. Server Load Balancing không có yêu cầu đặc biệt gì về
phần cứng, bất cứ máy tính nào hợp chuẩn đều có thể được sử dụng làm server. Chi phí
triển khai nhờ đó giảm đáng kể. Kiến trúc phần mềm phân tán của server load balancing
cho phép cung cấp hiệu năng và tính khả dụng của kỹ thuật này ở mức cao nhất.

1.2.Nhiệm vụ cân bằng tải server:
1.2.1. Cân bằng tải cho server(server load balancing):
Có nhiệm vụ phân phối tải giữa các server, tăng khả năng mở rộng của hệ thống, giúp cho
hệ thống vẫn hoạt động khi có server bị chết.

1.2.2. Cân bằng tải cho server toàn cầu(global server load balancing):
Có nhiệm vụ chuyển hướng yêu cầu của người dung đến các data center khác nhau
trong trường hợp website có nhiều trung tâm dữ liệu trên thế giới. Góp phần tăng tốc độ
phản hồi cho người dung và giúp cho hệ thống vẫn có khả năng hoạt động khi có trung
tâm dữ liệu bị chết.

1.2.3. Cân bằng tải cho Firewall(Firewall load balancing):
Có nhiệm vụ phân phối tải giữa các firewall, giúp cho hệ thống vẫn hoạt động
được khi có firewall bị chết.

1.2.4. Cân bằng tải chuyển mạch cache trong suốt (transparent cache
switching):
Giúp chuyển hướng lưu lượng một cách trong suốt đến các caches, góp phần tăng
thời gian đáp ứng và hiệu năng của hệ thống.

1.3.Cấu trúc đồ án:
Chương 1: Tổng quan
Sơ lược về hệ thống cân bằng tải, cho ta biết thêm các nhiệm vụ của cân
bằng tải.
Chương 2: Cơ sở lý thuyết



3

Giúp ta hiểu về khái niệm của cân bằng tải là gì, các thuật toán cân bằng tải,
cách thức hoạt động, ứng dụng của công nghệ cân bằng tải ưu nhược điểm,
vấn đề về bảo mật, cấu trúc cân bằng tải…
Chương 3: Kết quả thực nghiệm ứng dụng cân bằng tải vào web server
Xây dựng một hệ thống cân bằng tải ứng dụng vào web server, mô tả cách
thức triển khai, cấu hình cài đặt cũng như vận hành, kiểm tra tính năng cân
bằng tải trên hệ thống.
Chương 4 Kết luận và hướng phát triển của đồ án
Từ đồ án trên giúp ta hiểu thêm về công nghệ cân bằng tải là gì, khái niệm
cũng như áp dụng thực tiễn hiểu thêm về các thuật toán cân bằng tải, và
hướng phát triển cho tương lai, khắc phục yếu điểm nhược điểm của công
nghệ cân bằng tải.

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.1.Giới thiệu về công nghệ Loadbalancing
2.1.1.Khái niệm cân bằng tải
Cân bằng tải là một phương pháp phân phối khối lượng tải trên nhiều máy tính
hoặc một cụm máy tính để có thể sử dụng tối ưu các nguồn lực, tối đa hóa thông lượng,
giảm thời gian đáp ứng và tránh tình trạng quá tải trên máy chủ.
Các lợi ích khi sử dụng phương pháp cân bằng tải:


Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh
hoạt và mở rộng cho hệ thống.




Tăng độ tin cậy và khả năng dự phòng cho hệ thống: Sử dụng cân bằng tải giúp
tăng tính HA (High Availability) cho hệ thống, đồng thời đảm bảo cho người dùng
không bị gián đoạn dịch vụ khi xảy ra lỗi sự cố lỗi tại một điểm cung cấp dịch vụ.


4


Tăng tính bảo mật cho hệ thống: Thông thường khi người dùng gửi yêu cầu dịch
vụ đến hệ thống, yêu cầu đó sẽ được xử lý trên bộ cân bằng tải, sau đó thành phần
cân bằng tải mới chuyển tiếp các yêu cầu cho các máy chủ bên trong. Quá trình trả
lời cho khách hàngcũng thông qua thành phần cân bằng tải, vì vậy mà người dùng
không thể biết được chính xác các máy chủ bên trong cũng như phương pháp phân
tải được sử dụng. Bằng cách này có thể ngăn chặn người dùng giao tiếp trực tiếp
với các máy chủ, ẩn các thông tin và cấu trúc mạng nội bộ, ngăn ngừa các cuộc tấn
công trên mạng hoặc các dịch vụ không liên quan đang hoạt động trên các cổng
khác.

2.1.2.Các thuật toán cân bằng tải
Cân bằng tải sử dụng thuật toán lọc phân tán hoàn toàn để ánh xạ các client đến
các host trong nhóm. Thuật toán này cho phép các host trong nhóm đưa ra các quyết định
cân bằng tải một cách độc lập và nhanh chóng cho từng gói đến. Nó được tối ưu hoá để
cung cấp khả năng cân bằng tải một cách thống kê đối với một số lượng lớn các yêu cầu
nhỏ do vô số client tạo ra, điển hình là đối với các Web server.

Cân bằng tải xử lý các yêu cầu của client bằng cách dẫn đường cho một tỉ lệ phần
trăm đã chọn những yêu cầu mới cho từng host trong nhóm. Thuật toán không đáp ứng
những thay đổi về tải trên mỗi host (chẳng hạn như tải CPU hay vấn đề sử dụng bộ nhớ).

Tuy nhiên, quá trình ánh xạ sẽ được thay đổi khi quan hệ thành viên trong nhóm thay đổi
và tỉ lệ phần trăm tải phân bố sẽ được tái cân bằng.

Khi xem xét một gói đến, tất cả các host thực hiện đồng thời việc ánh xạ thống kê
để xác định nhanh chóng host nào sẽ xử lý gói đó. Quá trình ánh xạ sử dụng một hàm
ngẫu nhiên để tính mức ưu tiên của host dựa trên địa chỉ IP và cổng đến của client cùng
các thông tin trạng thái khác để tối ưu hoá việc cân bằng tải. Host tương ứng sẽ chuyển
gói đó từ các tầng dưới lên tầng TCP/IP còn các host khác sẽ loại bỏ gói này. Quá trình
ánh xạ không thay đổi trừ phi quan hệ giữa các host trong nhóm thay đổi, để đảm bảo
rằng địa chỉ IP và cổng đến của client cho trước sẽ luôn được ánh xạ đến cùng một host
trong nhóm.- Tuy nhiên, host cụ thể trong nhóm mà địa chỉ IP và cổng đến của client ánh


5
xạ tới không thể được xác định trước do hàm ngẫu nhiên có tính đến quan hệ thành viên
trong nhóm hiện tại và quá khứ để tối thiểu hoá khả năng ánh xạ lại.

Khi một host mới tham gia vào nhóm, nó sẽ kích hoạt quá trình hội tụ và một quan
hệ thành viên mới trong nhóm sẽ được tính toán. Khi quá trình hội tụ hoàn thành, một
phần tối thiểu client sẽ được ánh xạ tới host mới. Cân bằng tải dò các kết nối TCP trên
mỗi host và sau khi kết nối TCP hiện tại của chúng hoàn thành, kết nối tiếp theo từ các
client bị ảnh hưởng sẽ được xử lý bởi host mới. Do đó, các host nên được bổ sung vào
nhóm tại những thời điểm tải tăng quá mạnh nhằm tối thiểu hoá hiện tượng ngắt quãng
các phiên. Để tránh vấn đề này, trạng thái phiên phải được quản lý bởi ứng dụng server
sao cho nó có thể được tái cấu trúc hay được trả lại từ bất kỳ một host nào trong nhóm.
Ví dụ, trạng thái phiên có thể được đẩy đến server cơ sở dữ liệu và lưu trong các cookies
của client.


6


Hình 2.1 mô hình cân bằng tải nhiều server.
Hiện nay, khi nhu cầu truy nhập mạng bùng nổ, các server cung cấp dịch vụ đang
trở nên quá tải. Việc lựa chọn một server đơn lẻ có cấu hình cực mạnh để đáp ứng nhu
cầu này sẽ kéo theo chi phí đầu tư rất lớn. Giải pháp hiệu quả được đưa ra là sử dụng một
nhóm server cùng thực hiện một chức năng dưới sự điều khiển của một công cụ phân
phối tải - Giải pháp cân bằng tải.

Có rất nhiều hãng đưa ra giải pháp cân bằng tải như Cisco, Coyote Point, Sun
Microsystems... với rất nhiều tính năng phong phú. Tuy nhiên, về cơ bản, nguyên tắc cân
bằng tải vẫn xuất phát từ những quan điểm kỹ thuật khá tương đồng. Một kỹ thuật cân
bằng tải điển hình là RRDNS (Round Robin DNS). Với giải pháp này, nếu một server
trong nhóm bị lỗi, RRDNS sẽ vẫn tiếp tục gửi tải cho server đó cho đến khi người quản
trị mạng phát hiện ra lỗi và tách server này ra khỏi danh sách địa chỉ DNS. Điều này sẽ
gây ra sự đứt quãng dịch vụ.


7

Sau những phát triển, từ các thuật toán cân bằng tải tĩnh như Round Robin,
Weighted Round Robin đến các thuật toán cân bằng tải động như Least Connection,
Weighted Least Connection, Optimized Weighted Round Robin và Optimized Weighted
Least Connection, kỹ thuật cân bằng tải hiện nay nhờ sự kết hợp các thuật toán trên ngày
càng trở nên hoàn thiện mặc dù nhược điểm vốn có như tạo điểm lỗi đơn và vấn đề nút cổ
chai do sử dụng bộ điều phối tập trung (centralized dispatcher) vẫn còn.

Có rất nhiều thuật toán cân bằng tải được sử dụng, sau đây là các thuật toán cân
bằng tải phổ biến nhất:

2.1.2.1. Thuật toán Round Robin:

Đây gọi là thuật toán luân chuyển vòng, các máy chủ sẽ được xem ngang hàng và
sắp xếp theo một vòng quay. Các truy vấn dịch vụ sẽ lần lượt được gửi tới các máy chủ
theo thứ tự sắp xếp.
Đây là thuật toán được dung thường xuyên nhất trong các hệ thống vừa và nhỏ, có
ít đòi hỏi về khả năng mở rộng. Một kết nối mới sẽ được gửi đến server kế tiếp trong cụm
server và cứ quay vòng như vậy. RR làm việc tốt trong mọi cấu hình nhưng sẽ tốt hơn
nếu như các trang thiết bị đang được cân bằng tải khác nhau về tốc độ xử lý, tốc độ kết
nối hoặc bộ nhớ.
RR hoạt động tốt khi các server có khả năng xử lý cấu hình tương tự nhau, tuy
nhiên sẽ có hiện tượng mất cân bằng khi các server có cấu hình khác nhau, hoặc sau một
thời gian, số kêt nối đang hoạt động ở một server đang nhiều hơn hẳn một server khác.
Do đó, một số server sẽ phải xử lý nhiều hơn hẳn các server khác. Tuy vậy vì tính đơn
giản của nó, nên nó hoạt động rất hiệu quả(không phải mất them thời gian tính toán các
thông số khác nên việc phân tải diễn ra rất nhanh). Nếu các server hoạt động bình thường
và không xảy ra sự cố thì sử dụng RR rất tốt.
Điểm yếu của RR là hai yêu cầu liên tục từ phía một người dung có thể sẽ được
gửi vào 2 server khác nhau. Điều này không tốt vì khi người dung đang được kết nối vào
một server đó xử lý thì sẽ góp phần tăng tốc độ đáp ứng cho người dung. Do đó thuật


8
toán RR thường được cài đặt cùng với các phương pháp duy trì session như sử dụng
cookie.
Ví dụ:
Cấu hình một cụm Cluster bao gồm 03 máy chủ: A, B, C.
Yêu cầu dịch vụ thứ nhất sẽ được gửi đến máy chủ A.
Yêu cầu dịch vụ thứ hai sẽ được gửi đến máy chủ B.
Yêu cầu dịch vụ thứ ba sẽ được gửi đến máy chủ C.
Yêu cầu dịch vụ thứ tư sẽ lại được gửi cho máy chủ A…


2.1.2.2. Thuật toán Weighted Round Robin(ratio):
Bản chất giống như thuật toán Round Robin, tuy nhiên chúng ta có thể cấu hình
cho một máy chủ nào đó thường xuyên được sử dụng hơn. Thuật toán này yêu cầu từ
phía người dung sẽ được bộ cân bằng tải chuyển đến các server theo thứ tự xoay vòng.
Sự khác biệt duy nhất ở đây là thuật toán WRR còn quan tấm đếnn khả năng xử lý cấu
hình của các server. Trong cùng 1 chu kỳ 1 server có khả năng xử lý gấp đôi server khác
sẽ nhân được gấp đôi số yêu cầu từ phía bộ cân bằng tải.
Giả sử chúng ta có 4 server A, B , C, D có cấu hình khác nhau, A và B có cấu hình
giống nhau, C và D có cấu hình mạnh gấp đôi A. Vậy chúng ta có thể đánh trọng số cho
A và B là 1, C và D là 2. Khi đó theo thuật toán WRR, thứ tự server nhận yêu cầu từ phía
bộ cân bằng tải sẽ là ABCDCD.
Thuật toán này có thể được thực thi như sau: Giả sử chúng ta có 1 hàng đợi chứa
các server sẽ nhân request. Nếu như 1 server trong số n, trong hang đợi sẽ có n chỉ mục
của cùng 1 server này, chẳng hạn như ở ví dụ trên mỗi server A, B sẽ có 1 chỉ mục, mỗi
server C, D sẽ có 2 chỉ mục. Với cách lưu chỉ mục như vậy trong hang đợi, các server
trong WRR sẽ được lấy ra theo thứ tự hoàn toàn giống như RR.
Thuật toán WRR hoạt động rất tốt, hơn RR khi các server trong cluster có cấu hình
khác nhau. Tuy nhiên sử dụng thuật toán này có thể dẫn đến tới sự mất cân bằng tải động
nếu như các tải của các yêu cầu liên tục thay đổi trong một khoảng rộng (ví dụ như các
yêu cầu xem video hoặc tải các file có dung lượng lớn xen kẽ với các yêu cầu đọc thông


9
tin…). Trong một khoảng thời gian ngắn, hoàn toàn có khả năng phần lớn các yêu cầu có
tải cao sẽ được chuyển hướng đến cùng 1 server.

2.1.2.3. Thuật toán Dynamic Round Robin – DRR(Dynamic Ratio):
Thuật toán DRR hoạt động gần giống với WRR, điểm khác biệt là trọng số ở đây
dựa trên sự kiểm tra server một cách liên tục, do đó trọng số liên tục thay đổi. Đây là một
thuật toán động (khác với các thuật toán đã trình bày ở trên đều là thuật toán tĩnh), việc

chọn server sẽ dựa trên rất nhiều khía cạnh trong việc phân tích hiệu năng của server dựa
trên thời gian thực, chẳng hạn như số kết nối hiện tại đang có trên các server hoặc server
trả lời nhanh nhất. Thuật toán này thường không thấy trong các bộ cân bằng tải đơn giản,
nó được sử dụng trong các sản phẩm cân bằng tải của F5 Network.

2.1.2.4. Thuật toán Fastest:
Thuật toán fastest chọn server dựa trên thời gian đáp ứng của mỗi server (response
time), thuật toán sẽ chọn server nào có thời gian đáp ứng nhanh nhất. Thời gian đáp ứng
được xác định bởi khoảng thời gian giữa thời điểm gửi một gói tin đến server và thời
điểm nhận gói tin trả lời. Việc gửi nhận này sẽ được bộ cân bằng tải đảm nhiệm, dựa trên
thời gian đáp ứng, bộ cân bằng tải sẽ biết chuyển yêu cầu tiếp theo đến server nào.
Thuật toán fastest thường được dung khi các server được cài đặt dọc theo các
mạng logic khác nhau, nghĩa là server được đặt ở nhiều nơi khác nhau. Như vậy người
dùng ở gần server nào, thì thời gian đáp ứng đến server đó chắc chắn sẽ nhanh nhất và
server đó sẽ được chọn để phục vụ. Thuật toán này cũng giống như chuyển hướng yêu
cầu dựa trên địa chỉ IP. Chẳng hạn như khi người dùng truy cập vào site youtube.com,
nếu IP của người dùng đến từ Việt Nam, yêu cầu sẽ được chuyển đến server ở Việt Nam
xử lý, điều này sẽ giúp cho tiết kiệm băng thông quốc tế và cải thiện tốc độ đường truyền.

2.1.2.5. Thuật toán Least Connection:
Đây là thuật toán dựa trên tính toán số lượng kết nối để thực hiện cân bằng tải cho
máy chủ, nó sẽ tự động lựa chọn máy chủ với số lượng kết nối đang hoạt động là nhỏ
nhất.
Trong thuật toán LC, yêu cầu phía người dùng sẽ được chuyển vào server có ít kết
nối nhất trong hệ thống tại thời điểm đó. Thuật toán này được coi như thuật toán động, vì


10
vậy nó cần phải đếm số liên kết đang hoạt động của các server với một hệ thống có các
server gần giống nhau về cấu hình, LC có khả năng hoạt động tốc ngay cả khi tải của các

kết nối biến thiên trong một khoảng lớn. Do đó sử dụng LC sẽ khắc phục được nhược
điểm của RR.
Nhìn bên ngoài có vẻ như LC cũng có khả năng hoạt động tốt khi các server có
cấu hình biến thiên khác nhau, trên thực tế điều đó là không đúng. Vậy thì nguyên nhân ở
đâu? Đó chính là cho trạng thái TIME_WAIT của TCP. TIME_WAIT này thường được
đặt là 2 phút, trong 2 phút đó một website “bận rộn” có thể nhận tới hang chục ngàn kết
nối liên tục, giả sử như server A có khả năng xử lý gấp đôi server B, server A đang xử lý
hang ngàn yêu cầu và giữ những yêu cầu này trong trang thái TIME_WAIT của TCP,
trong khi đó server B cũng phải xử lý hang ngàn yêu cầu như server A nhưng vì cấu hình
server B yếu hơn nên sẽ chậm hơn rất nhiều. Như vậy thuật toán LC hoạt động không tốt
khi các server có cấu hình khác nhau.

2.1.2.6. Thuật toán Observed:
Observed là sự kết hợp giữa Least Connection và Fasterst Response, nó chỉ tồn tại
trong các giải pháp của F5-Network. Ở đây người phát triển hệ thống sẽ phải cân bằng
giữa 2 yếu tố: số kết nối đến 1 server và thời gian đáp ứng giữa chúng. Nghĩa là, cũng
giống như đánh trọng số cho các server, 2 yếu tố này sẽ có những trọng số nhất định giữa
trên nhận định của người phát triển hệ thống hoặc nhà quản trị. Một phép toán số học dựa
trên số kết nối của 1 server, thời gian đáp ứng và các trọng số sẽ đưa ra cho mỗi server
một giá trị. Dựa trên giá trị đó, bộ cân bằng tải sẽ chọn được server phù hợp.
Nếu như được thiết kế tốt, Observed sẽ khắc phục được nhược điểm của cả Least
Connection và Fastest Response. Thuật toán Least Connection không chú trọng vào
không gian nghĩa là 1 người dùng truy cập ở Hà Nội có thể được kết nối vào server ở TP
Hồ Chí Minh, vì số kết nối ở đó đang ít nhất. Như vậy là không cần thiết, vì nếu chuyển
kết nối người dùng này vào server Hà Nội thì thời gian phục vụ sẽ giảm xuống và sẽ tiết
kiệm được rất nhiều băng thông. Trong khi đó Fastest Reponse sẽ đưa người dùng vào
server có thời gian đáp ứng tốt nhất bất kể số kết nối tại đó nhiều hay ít, nếu như máy chủ
đó sắp quá tải, có thể sẽ dẫn đến bị treo nếu như quá nhiều người ở địa điểm đó truy cập



11
vào. Sự cân bằng giữa số kết nối và thời gian đáp ứng sẽ giúp cho bộ cân bằng tải chọn
được server phù hợp nhất.
Observed được đưa ra bởi F5 Network và hầu như không tồn tại trong các phần
mềm cần bằng tải mã nguồn mở hay các phần mềm nhỏ.

2.1.2.6. Thuật toán Predictive:
Là sự phát triển tiếp theo của Observed nhưng trong thuật toán Predictive hệ thống
sẽ phân tích trạng thái của các server theo thời gian, xác định xem thời điểm nào thì hiệu
năng server đang tăng lên, thời điểm nào đang giảm xuống. Như vậy, giả sử như 2 server
theo đánh giá của thuật toán Observed là tương đương nhau, server nào có hiệu năng biến
đổi theo chiều hướng tốt hơn sẽ được chọn.

2.1.2.7. Thuật toán Weights Least Connection:
Bản chất giống thuật toán Least Connection, nhưng chúng ta có thể cấu hình ưu
tiên cho một máy chủ trong cụm máy chủ hoạt động.

2.1.2.8. Thuật toán Least Response Time:
Đây là thuật toán sử dụng phương pháp thời gian đáp ứng ít nhất, lựa chọn dịch vụ
trên máy chủ với thời gian đáp ứng là thấp nhất.
Ngoài ra còn có rất nhiều thuật toán cân bằng tải khác tùy theo phần mềm hoặc
phần cứng cân bằng tải được sử dụng.

2.1.3. Hoạt Động Của cân bằng tải:
Mỗi host trong nhóm có thể định ra mức tải mà nó sẽ xử lý hoặc tải có thể phân
phối một cách đồng đều giữa các host. Nhờ sử dụng việc phân phối tải này, mỗi server sẽ
lựa chọn và xử lý một phần tải của host. Tải do các client gửi đến được phân phối sao cho
mỗi server nhận được số lượng các yêu cầu theo đúng phần tải đã định của nó. Sự cân
bằng tải này có thể điều chỉnh động khi các host tham gia vào hoặc rời khỏi nhóm. Đối
với các ứng dụng như Web server, có rất nhiều client và thời gian mà các yêu cầu của

client tồn tại tương đối ngắn, khả năng của kỹ thuật này nhằm phân phối tải thông qua
ánh xạ thống kê sẽ giúp cân bằng một cách hiệu quả các tải và cung cấp khả năng đáp
ứng nhanh khi nhóm server có thay đổi.


12
Các server trong nhóm cân bằng tải phát đi một bản tin đặc biệt thông báo trạng
thái hoạt động của nó (gọi là heartbeat message) tới các host khác trong nhóm đồng thời
nghe bản tin này từ các khác host khác. Nếu một server trong nhóm gặp trục trặc, các
host khác sẽ điều chỉnh và tái phân phối lại tải để duy trì liên tục các dịch vụ cho các
client. Trong phần lớn các trường hợp, phần mềm client thường tự động kết nối lại và
người sử dụng chỉ cảm thấy trễ một vài giây khi nhận được đáp ứng trả lời.

2.2.Nhu cầu ứng dụng
Cân bằng tải thường được ứng dụng vào các mục đích sau:
Các ứng dụng ít có sự thay đổi
. Web server
. FTP server
. VPN server

2.3.Kỹ thuật cân bằng tải:
Như chúng ta đã biết bộ cân bằng tải có nhiệm vụ kết nối giữa người dùng và
server, do đó nó có thể hoạt động như một proxy hoặc gateway. Một proxy có nhiệm vụ
luân chuyển yêu cầu và dữ liệu đáp trả giữa người dùng và server, trong khi đó một
gateway chỉ có nhiệm vụ tạo ra một kết nối hai đối tượng này và không làm gì them. Có
thể sử dụng phần cứng hoặc phần mềm được cài đặt trên một front server, hoặc trên chính
webserver. Thêm nữa, khí một số lượng người dùng tăng lên, để tránh SPOF, cần thiết
phải cài đặt 2 bộ cân bằng tải song song, hoạt động theo cơ chế active – active hoặc
active stanby.


2.3.1. Kiểm tra trạng thái server:
Để chọn được server phù hợp gửi request, bộ cân bằng tải cần phải biết được
server nào đang có sẵn. Vì vậy nó cần phải dùng biện pháp nào đó để kiểm tra trạng thái
của server, chẳng hạn như gửi lệnh ping, các yêu cầu, thử kết nối hay bất cứ phương pháp
nào mà người quản trị nghĩ là dùng được. Kỹ thuật kiểm tra này thường được gọi là
“health checks”.


13

Một server bị down có thể trả lời lệnh ping nhưng không thể trả lời các kết nối
TCP, một server bị treo có khả năng kết nối TCP nhưng không thể trả lời các yêu cầu
HTTP. Khi một ứng dụng web nhiều lớp được kích hoạt, một số yêu cầu HTTP có thể trả
lời ngay lập tức trong khi số khác sẽ thất bại.
Chính vì thế việc chọn một phương pháp test phù hợp được chấp nhận bởi ứng
dụng web và bộ cân bằng tải là rất thú vị. Một số test đôi khi phải cần truy xuất dữ liệu
database nhằm bảo đảm rằng toàn bộ quá trình của nó là đúng. Hạn chế lớn nhất là những
phương pháp kiểm tra này sẽ chiếm tài nguyên của hệ thống như là CPU, threads…
Do đó cân bằng thời gian kiểm tra chính là vấn đề khó nhất trong kỹ thuật lựa
chọn server. Khoảng thời gian giữa 2 lần test liên tiếp phải đủ dài để không tốn quá nhiều
tài nguyên của hệ thống cà cũng cần đủ ngắn để nhanh chóng phát hiện ra server “chết”.
Vì “health checks” là một trong những khía cạnh phức tạp nhất của kỹ thuật cân bằng tải,
nên thường sau một kiểm tra, các nhà phát triển sẽ thực thi một yêu cầu đặc biệt dành
riêng cho bộ cân bằng tải, giúp cho nó thực hiện một số kiểm tra nội bộ.
Phần mềm cân bằng tải có khả năng cung cấp scripting, do đó nó đạt được độ linh
hoạt rất cao. Thêm nữa nếu như một bài kiểm tra nào đó đòi hỏi phải sử dụng đến code,
nó có thể thực hiện trong một khoảng thời gián ngắn.

2.3.2. Lựa chọn server tốt nhất:
Phương pháp dễ nhất và thường được sử dụng nhất trong các hệ thống nhỏ là

Round Robin, các server được lựa chọn quay vòng, tuy nhiên phương pháp này có nhược
điểm là 2 request liêm tục từ một người dùng sẽ vào 2 server khác nhau, thông tin giữa 2
yêu cầu liên tiếp sẽ bị mất, như vậy sẽ không thể tối ưu hóa được sử dụng tài nguyên.
Đặc biệt là khi cần phải cài đặt kết nối cho các phiên chạy – ví dụ như SSL key
negociation – sẽ rất tốn thời gian.
Một cách khắc phụ nhược điểm này là sử dụng, hàm băm theo địa chỉ IP như vậy
request từ cùng một IP sẽ chỉ vào một server duy nhất. Tuy vậy phương pháp này đòi hỏi
người dùng phải có IP tĩnh. Vậy thì cách khắc phục cho những hạn chế trên là gì? Đó là
kỹ thuật session Persistence.

2.3.3. Kỹ thuật Session Persistence:


14

Như đã đề cập ở trên, vấn đề cần giải quyết chính là làm sao để giữ cho các yêu
cầu của một người dùng được gửi vào máy duy nhất trong suốt phiên làm viejc của người
đó. Tất cả các yêu cầu của người dùng này cần phải được chuyển vào cùng một server.
Nếu server bị chết, hoặc ngừng để bảo trì, cần phải có cơ chế chuyển session của người
dùng này sang máy server khác. Đó chính là kỹ thuật Session Persistence.
Có một số giải pháp được đưa ra để tiếp cận ký thuật này, chẳng hạn như sử dụng
một respone HTTP 302 hay tạo ra liên kết giữa người dùng – server. Tuy vậy 2 phương
pháp này đều có những hạn chế, sự dụng HTTP 302 sẽ khiến người dùng luôn luôn tìm
cách kết nối với một server duy nhất, kể cả khi server này đã chết. Dùng cách tạo liên kết
đòi hỏi user phải có IP tĩnh trong suốt phiên làm việc.
Vậy thì câu trả lời cuối cùng là gì? Đó chính là sử dụng cookie. Cookie là một đối
tượng được điều khiển bởi web server. Trong kết quả trả về cho người dùng web server sẽ
chèn them một số thông tin. Những yêu cầu tiếp theo của người dùng gửi đến server sẽ
chứa them thông tin của cookie này, server sẽ đọc các cookie và biết phải làm gì với các
yêu cầu này.


2.3.4. Cookie:
Một cookie được định nghĩa bằng cặp tên = giá trị (name=value). Hình bên dưới
miêu tả hoạt động của cookie với cặp user = 1, cho biết tên cookie là user và giá trị của
nó là 1. Bên phía người dùng, cookie được điều khiển bởi trình duyệt và “trong suốt” đối
với người dùng.

Hình 2.2:Cách làm việc của cookie user=1

Trong thiết kế của bộ cân bằng tải, có 3 cách sử dụng cookie: cookie chỉ đọc
(coolie-Read), bộ cân bằng tải chèn cookie nhằm chứng thực server (cookie-insert) và ghi
đè cookie(cookie-Rewrite).


15

+Cookie-Read
Cách thức hoạt động của cookie-read được mô tả trong hình dưới đây. Khi người
dùng lần đầu tiên gửi yêu cầu đến server, do không có cookie trong yêu cầu, nên nó sẽ
được phân tải đến server RSI (1). Server sẽ tạo và đặt cookie server=1 vào trong dữ liệu
trả về cho người dùng (2). Trình duyệt của người dùng sẽ nhận trả về này, đọc thấy
cookies và lưu trữ nó vào trong đĩa cứng (3). Sau đó người dùng có thể đóng trình duyệt
hoặc ngắt kết nối (giả sử rằng trình duyệt của người dùng không tự động xóa cookie sau
khi đóng). Một thời gian sau người dùng sẽ gửi cookie này, và do đó sẽ chuyển yêu cầu
người dùng vào server RSI. Như vậy người dùng sẽ luôn được kết nối vào server 1 cho
đến khi nào cookie còn tồn tại, cho dù người dùng có thể vào website từ các địa chỉ IP
khác nhau.

Hình 2.3: Cookie-read


Ưu điểm của phương pháp cookie-read là nó không đòi hỏi bộ cân bằng tải phái
làm việc nhiều, chỉ cần đọc cookie được tạo ra từ phía web server và từ yêu cầu của
người dùng. Nhược điểm của phương pháp này là ứng dụng ở server phải tạo ra một
cookie, điều này không khó khăn lắm, nhưng nó sẽ khiến nhà phát triển ứng dụng phải
thay đổi mã nguồn chương trình. Khí một server mới được lắp đặt, người quản trị hệ
thống sửa đổi hoặc đặt them thông số server vào file cấu hình của bộ cân bằng tải.
+Cookie-Insert
Phương pháp này được mô tả như hình bên dưới. Trong phương pháp này, ứng
dụng ở server sẽ không làm gì cả. Kịch bản diễn ra tương tự như cookie-read, nhưng ở
đây khi server trả về dữ liệu cho người dùng (2), bộ cân bằng tải sẽ xem là server nào trả
về dữ liệu và chèn vào đó một cookie chứa thông tin về server này, chẳng hạn như cookie


16
server=1 trong hình vẽ. Khi người dùng kết nối lần tiếp theo, bộ cân bằng tải sẽ đọc
thông tin về cookie này, và chuyển hướng yêu cầu của người dùng vào đúng server RSI.

Ưu điểm của phương pháp này là “nó trong suốt” đối với ứng dụng được cài đặt
trên server, hay nói cách khác ứng dụng server sẽ không cần phải tạo ra một cookie hay
không cần quan tâm xem cookie là gì. Khi 1 server được them mới hoặc xóa bỏ, hoặc khi
file cấu hình của bộ cân bằng tải bị thay đổi, người quản trị hệ thống sẽ không cần phải lo
lắng về việc cập nhật file cấu hình cho server. Nhược điểm của phương pháp này là có
thể gây ra quá tải ở bộ cân bằng tải. Chúng ta có thể thấy rõ số lượng công việc mà bộ
cân bằng tải phải làm khi chèn 1 cookie trong hình dưới. Vì cần phải chèn dữ liệu nên gói
dữ liệu trả về phải được sao lại 1 phần, vì vậy tăng dung lượng bộ nhớ cần thiết ở phía bộ
cân bằng tải, them vào đó còn tăng dung lượng gói tin trả về cho người dùng, có thể
khiến gói tin bị chia đôi, dẫn đến mất dữ liệu.

Hình 2.4:Bộ cân bằng tải phải chèn một cookie.


+Cookie Rewrite
Phương pháp này không đòi hỏi bộ cân bằng tải phải làm quá nhiều việc như
cookie insert, trong đó cookie insert lại không yêu cầu ứng dụng phía server phải tạo


17
cookie còn cookie read lại cần. Cần phải có một phương pháp dung hòa và nhược điểm
của 2 phương pháp trên. Đó chính là phương pháp ghi đè cookie.
Nhược điểm lớn nhất trong cookie insert là cần phải có một bộ nhớ phức tạp, và
thêm nữa có thể khiến gói tin bị chia thành 2 (do dung lượng vượt quá giá trị lớn nhất của
gói tin được chấp nhận ở Ethernet) và dẫn đếm mất dữ liệu. Chuyện gì sẽ xảy ra nếu như
chúng ta tạo một chỗ trống ở gói tin để lưu giá trị cookie và bộ cân bằng tải chỉ cần đặt
vào đó giá trị cần thiết. Trong phương pháp ghi đè cookie được mô tả như hình bên dưới,
ứng dụng sẽ chèn vào gói tin trả về một cookie server=XXX. Tất cả những gì bộ cân
bằng tải làm là tìm kiếm đoạn server=XXX này và thay “XXX” bằng giá trị ID của
server, chẳng hạn như server=001.

Hình 2.5: Bộ cân bằng tải ghi đè một cookie.

Ưu điểm của phương pháp này là tránh cho bộ cân bằng tải làm việc quá mức và
tránh cho gói tin bị chia nhỏ. Bên cạnh đó nó cũng khắc phục được nhược điểm của
phương pháp cookie-read. Nó là phương pháp tốt nhất trong 3 phương pháp đã được đề
cập ở trên và thường được dùng trong các bộ cân bằng tải.

2.3.5. Cân bằng tải với proxy:
Nhóm này thường tận dụng khả năng chia tải sẵn có trên phần mềm proxy như
ISA Proxy của Microsoft hay Squid phần mềm mã nguồn mở cài trên máy phổ dụng.
Proxy này sẽ thực hiện nhiệm vụ chia tải trên các server sao cho hợp lý. Giải pháp này vì
hoạt động ở mức ứng dụng nên có khả năng caching (là công nghệ lưu trữ cục bộ dữ liệu
được truy cập với tần suất cao) và khả năng firewall ở tầng ứng dụng. Vì sử dụng máy

phổ thông nên giải pháp này có ưu điểm là chi phí thấp, khả năng mở rộng tốt vì cài đặt
trên một máy độc lập, dễ quản trị. Tuy nhiên, cũng vì chỉ hoạt động ở mức ứng dụng nên
hiệu suất không cao, vì sử dụng máy phổ thông nên không được tối ưu, dễ tồn tại nhiều
lỗi hệ thống, vì cài đặt trên một máy độc lập nên việc theo dõi trạng thái cảu các máy chủ


18
gặp khó khăn. Nhược điểm lớn nhất của các giải pháp này thường có tính ổn định kém,
hiệu năng thấp, dễ mắc lỗi. Đây là điều không thể chấp nhận được đối với các hệ thống
đòi hỏi tính sẵn sang cao như ngân hang, tài chính.

2.3.6. Cân bằng tải với thiết bị kết nối:
Nhóm này thường sử dụng các modun cắm trên các thiệt bị chuyên dụng như bộ
đinh tuyến (Router) hay bộ chuyển mạch (Switch) để chia tải theo luồng, thường hoặt
động từ layer 4 trở xuống. Vì sử dụng thiết bị chuyên dụng nên có hiệu năng cao, tính ổn
định cao, khả năng mở rộng tốt hơn nhưng khó phát triển được tính năng bảo mật phức
tạp như giải pháp proxy, thường thuật toán chia tải rất đơn giản như DNS round-robin
(Đây là thuật toán chia tải phổ biến nhất và đơn giản nhất, thuy nhiên cứng nhắc và hiệu
quả thấp. Với thuật toán này các yêu cầu về IP của một tên miền ứng với nhiều server sẽ
được biên dịch thành địa chỉ IP của các server đó theo thứ tự quay vòng. Nhóm này có
khả năng chia tải động kém, không theo dõi được trạng thái của máy chủ, xử lý kết nối ở
mức ứng dụng rất kém, dễ gây lỗi ứng dụng và giá thành cao. Cách thức này cũng hoàn
toàn không phù hợp đói với các hệ thống yêu cầu tính toán chuẩn xác của các hoạt động
giảo dịch như tài chính, ngân hang.
Như vậy, giải pháp có khả năng theo dõi trạng thái ứng dụng tốt thì mở rộng, tăng
tốc bảo mật (GP dùng phần mềm). Giải pháp mở rộng, tăng tốc, bảo mật. thì theo dõi
trạng thái ứng dụng kém, không ổn định, hiệu năng thấp(GP sử dụng proxy), giải pháp
hiệu năng cao, ổn định, mở rộng tốt thì kém thông minh, dễ gây lỗi ứng dụng, tăng tốc
kém(GP chia tải nhờ thiết bị chia kết nối). Trong khi đó, tất cả các yêu cầu về hiệu năng
cao, ổn định mở rộng tốt, tăng tốc và bảo mật là rất quan trọng đối với các hoạt động của

ngân hang, chứng khoán và các nhà cung cấp dịch vụ. GP sẵn có của các hang chỉ đạp
ứng được một phần trong các yêu cầu trên như CSS cảu Cisco, ISA của Microsoft, hay
Netcaler của Citrix).

2.3.7. Xử lý các yêu cầu kết nối tập trung:
Thay vì ủy quyền cho DNS việc phân phối những yêu cầu đến các server riêng lẻ
trong một cluster, phương pháp xử lý các yêu cầu kết nối tập trung (Centrallized
Connection Routing-CCR) sử dụng một router cục bộ để thực hiện chức năng này.


19

Router hoạt động như một bảng chuyển mạch, phân phối các yêu cầu dịch vụ đến
các node riêng lẻ trong cluster.
+Ưu điểm của kỹ thuật CCR:
Việc định hướng lại cho các kết nối Client đến các server thích hợp trong hệ thống
là hoàn toàn trong suốt với người dùng.
Tính linh hoạt cao: khi phát hiện một node bị chết, local router sẽ chuyển tất cả
các yêu cầu kế tiếp đến node khác đang hoạt động.
+Nhược điểm của kỹ thuật CCR:
Khi kết nối từ client đến router tăng cao toàn hệ thống sẽ gặp tình trạng nút cổ chai
ngay tại thiết bị này.
Thiết bị router là thiết bị phần cứng nên giá thành cao.
Khi thiết bị trung tâm hỏng toàn bộ hệ thống sẽ ngưng hoạt động do đó tính chịu
lỗi thấp.
Tóm lại, kỹ thuật xử lý các yêu cầu kết nối tập trung rõ rang đã giải quyết được
vấn đề cân bằng tải trên mạng. Tuy nhiên kỹ thuật này có tính chịu lỗi thấp và chi phí
cao.

2.4.Công nghệ áp dụng:

2.4.1.Kỹ thuật cân bằng tải mạng(network loadbalancing):
Cân bằng tải mở rộng hiệu năng của các server ứng dụng, chẳng hạn như Web
server, nhờ phân phối các yêu cầu của client cho các server trong nhóm (cluster). Các
server (hay còn gọi là host) đều nhận gói IP đến, nhưng gói chỉ được xử lý bởi một server
nhất định.


20
Các host trong nhóm sẽ đồng thời đáp ứng các yêu cầu khác nhau của các client,
cho dù một client có thể đưa ra nhiều yêu cầu. Ví dụ, một trình duyệt Web cần rất nhiều
hình ảnh trên một trang Web được lưu trữ tại nhiều host khác nhau trong một nhóm
server. Với kỹ thuật cân bằng tải, quá trình xử lý và thời gian đáp ứng client sẽ nhanh hơn
nhiều.

Hình 2.6: mô hình cân bằng tải server và phần cứng.
Mỗi host trong nhóm có thể định ra mức tải mà nó sẽ xử lý hoặc tải có thể phân
phối một cách đồng đều giữa các host. Nhờ sử dụng việc phân phối tải này, mỗi server sẽ
lựa chọn và xử lý một phần tải của host. Tải do các client gửi đến được phân phối sao cho
mỗi server nhận được số lượng các yêu cầu theo đúng phần tải đã định của nó.

Sự cân bằng tải này có thể điều chỉnh động khi các host tham gia vào hoặc rời
khỏi nhóm. Đối với các ứng dụng như Web server, có rất nhiều client và thời gian mà các
yêu cầu của client tồn tại tương đối ngắn, khả năng của kỹ thuật này nhằm phân phối tải
thông qua ánh xạ thống kê sẽ giúp cân bằng một cách hiệu quả các tải và cung cấp khả
năng đáp ứng nhanh khi nhóm server có thay đổi.

Các server trong nhóm cân bằng tải phát đi một bản tin đặc biệt thông báo trạng
thái hoạt động của nó (gọi là heartbeat message) tới các host khác trong nhóm đồng thời
nghe bản tin này từ các khác host khác. Nếu một server trong nhóm gặp trục trặc, các



21
host khác sẽ điều chỉnh và tái phân phối lại tải để duy trì liên tục các dịch vụ cho các
client.

Trong phần lớn các trường hợp, phần mềm client thường tự động kết nối lại và
người sử dụng chỉ cảm thấy trễ một vài giây khi nhận được đáp ứng trả lời.

2.4.2.Sử dụng phần mềm:
Cơ chế Load Balancing thường được xây dựng sẵn bên trong hệ điều hành ví dụ
Windows server 2000, 2003, Novell netware, Sun Solaris, Linux…

2.4.3.Sử dụng thiết bị phần cứng:
Có rất nhiều hãng đưa ra giải pháp cân bằng tải như Cisco, Coyote Point, Sun,
Microsystems...với rất nhiều tính năng phong phú.
Giải pháp dùng thiết bị được xem là tối ưu nhất tuy nhiên chi phí cũng cao hơn.
Mô hình sau sử dụng thiết bị localdirector của hãng Cisco để cân bằng tải.


22

Hình 2.6:

Hình 2.7: Mô hình sử dụng thiết bị localdirector của hãng Cisco để cân bằng tải

Khi lựa chọn thiết bị phần cứng làm Load Balancing, bạn cần quan tâm đến
các thông số sau:



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×