1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu công nghệ cân bằng tải (load balancing) ứng dụng vào triển khai cân bằng tải cho các webserver lớn trong doanh nghiệp

78 1,1K 5

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 1,94 MB

Nội dung

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 cho hệ thống máy server L

Trang 1

TRẦN THỊ NỤ

NGHIÊN CỨU CÔNG NGHỆ CÂN BẰNG TẢI (LOAD BALANCING) ỨNG DỤNG VÀO TRIỂN KHAI CÂN BẰNG TẢI CHO CÁC

WEBSERVER LỚN TRONG DOANH NGHIỆP

LUẬN VĂN THẠC SĨ KỸ THUẬT VIỄN THÔNG

Hà Nội – Năm 2015

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

TRẦN THỊ NỤ

Chuyên ngành: Kỹ thuật Viễn Thông

NGHIÊN CỨU CÔNG NGHỆ CÂN BẰNG TẢI (LOAD BALANCING) ỨNG DỤNG VÀO TRIỂN KHAI CÂN BẰNG TẢI CHO CÁC

WEBSERVER LỚN TRONG DOANH NGHIỆP

LUẬN VĂN THẠC SĨ KỸ THUẬT VIỄN THÔNG

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS PHẠM NGỌC NAM

Hà Nội – Năm 2015

Trang 3

MỤC LỤC

MỤC LỤC 1

LỜI CAM ĐOAN 4

LỜI CẢM ƠN 5

DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT 6

DANH MỤC BẢNG BIỂU 7

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 8

MỞ ĐẦU 10

CHƯƠNG 1 – TỔNG QUAN VỀ WEB-SERVER LOAD BALANCING VỚI KHẢ NĂNG MỞ RỘNG 11

1.1 Kiến trúc web với khả năng mở rộng 11

1.1.1 Khả năng mở rộng 11

1.1.2 Hiệu năng 12

1.1.3 Khả năng có sẵn 12

1.1.4 Tính đáp ứng 12

1.1.5 Downtime impact 13

1.2 Giải pháp load balancing cho kiến trúc web với khả năng mở rộng 13

1.2.1 Cân bằng tải cho webserver 13

1.2.2 Lợi ích của giải pháp Load Balancing 16

1.3 Các phương pháp triển khai Load Balancing 19

1.3.1 Cân bằng tải bằng phần cứng 19

1.3.2 Load balancing bằng phần mềm 23

Trang 4

CHƯƠNG 2 – CÂN BẰNG TẢI WEB SERVER BẰNG PHẦN MỀM 24

2.1 Thuật toán cân bằng tải tĩnh (Static LB) 24

2.1.1 Thuật toán DNS Round Robin 24

2.1.2 Thuật toán Weighted Round Robin 26

2.2 Thuật toán cân bằng tải động (Dynamic LB) 26

2.2.1 Thuật toán Dynamic Round Robin (DRR) 26

2.2.2 Thuật toán Fastest 27

2.2.3 Thuật toán Least Connections (LC) 27

2.2.4 Thuật toán Observed 30

2.2.5 Thuật toán Predictive 31

2.2.6 Thuật toán Least Bandwidth (LBw) 31

2.3 Kết luận 33

CHƯƠNG 3 – CÀI ĐẶT VÀ MÔ PHỎNG CÂN BẰNG TẢI WEB-SERVER VỚI CITRIX NETSCALER 35

3.1 Bài toán mô phỏng đặt ra 35

3.1.1 Mục đích mô phỏng 35

3.1.2 Mô hình mô phỏng 35

3.1.3 Kết quả cần đạt được 37

3.2 Giới thiệu về Citrix Netscaler 38

3.2.1 Khả năng ứng dụng của Citrix Netscaler 38

3.2.2 Các tính năng chính của Citrix Netscaler 38

3.2.3 Các dịch vụ NetScaler hỗ trợ [8] 41

3.3 Cài đặt Citrix NetScaler 42

3.3.1 Cài đặt VMWare Worsktation 10 43

Trang 5

3.3.3 Cài đặt Citrix NetScaler NSVPX-ESX-10.5-55.8 [6],[11] 43

3.4 Cài đặt Webserver 45

3.5 Thực hiện mô phỏng Loadbalacing 46

3.5.1 Setup Loadbalacing trên Netscaler 46

3.5.2 Cấu hình thuật toán Load Balancing 50

3.5.4 Thiết lập hai web-server trên 2 máy chủ 53

3.6 Kết quả mô phỏng 54

3.6.1 Mô phỏng theo thuật toán RR 54

3.6.2 Mô phỏng theo thuật toán LeastConnection 57

3.7 Đánh giá kết quả mô phỏng 60

3.8 Kết luận 62

KẾT LUẬN 63

TÀI LIỆU THAM KHẢO 65

PHỤ LỤC 66

I Cài đặt NetScaler NSVPX-ESX-10.5-55.8 66

II Cài đặt Web-server 73

III Code trang web server 1 demo 74

IV Code trang web server 2 demo 75

Trang 6

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác

Tác giả TRẦN THỊ NỤ

Trang 7

LỜI CẢM ƠN

Để hoàn thành được luận văn này, em đã được học hỏi những kiến thức vô cùng quý báu từ các thầy, cô giáo trong trường Đại học Bách Khoa Hà Nội trong suốt năm năm học đại học và hơn một năm học cao học vừa qua Em vô cùng biết

ơn sự dạy dỗ, chỉ bảo tận tình của các thầy, các cô trong thời gian học tập và nghiên cứu tại trường

Em đặc biệt bày tỏ lòng biết ơn tới thầy PGS.TS Phạm Ngọc Nam – Viện Điện Tử Viễn Thông – Trường Đại Học Bách Khoa Hà Nội đã chỉ bảo và định hướng cho em nghiên cứu đề tài này Thầy đã cho em những lời khuyên bổ ích và quý báu trong suốt quá trình hoàn thành luận văn

Do hạn chế về thời gian, tài liệu và trình độ bản thân, bài luận văn của em không thể tránh khỏi những thiếu sót, rất mong các thầy cô góp ý và củng cố đề bài luận văn được hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 8

DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT

ADC Application Delivery Control Điều khiển phân phối ứng dụng

DMZ Demilitarized Zone Một vùng mạng trung lập giữa mạng

nội bộ và mạng internet

Processing Standard

Tiêu chuẩn xử lý thông tin liên bang

FTP File Transfer Protocol Giao thức truyền tập tin

HSM Hardware Security Module Mô đun bảo mật phần cứng

HTTP Hyper Text Transfer Protocol Giao thức truyền tải siêu văn bản IPv4 Internet Protocol version 4 Phiên bản thứ 4 của giao thức mạng ISP Internet Service Provider Nhà cung cấp dịch vụ internet

LBw Least Bandwidth Thuật toán bang thông ít nhất

LC Least Connections Thuật toán kết nối ít nhất

Protocol

Giao thức tạo luồng thời gian thực

SSL Secure Sockets Layer Giao thức bảo mật

TCP Transfer Control Protocol Giao thức điều khiển giao vận

WRR Weighted Round Robin Thuật toán RR có gắn trọng số

Trang 9

DANH MỤC BẢNG BIỂU

Bảng 1- 1 So sánh scale out và scale up 15

Bảng 1- 2 So sánh hệ thống có cân bằng tải và hệ thống thông thường 17

Bảng 2- 1 Thuật toán Least Connections 29

Bảng 2- 2 Thuật toán Least Bandwidth 32

Bảng 3- 1 Log monitor chạy cân bằng tải thuật toán LeastConnection 60

Trang 10

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1- 1 Mô hình cân bằng tải web-server 16

Hình 1- 2 So sánh hệ thống có cân bằng tải và hệ thống thông thường 17

Hình 1- 3.Mô hình giải pháp high availability và load balancing cho website 20

Hình 1- 4 Mô hình Load balancing 6 server 22

Hình 2- 1 Cân bằng tải bằng DNS 25

Hình 2- 2 Thuật toán Weighted Round Robin 26

Hình 2- 3 Thuật toán Least Connections 28

Hình 2- 4 Cân bằng tải Least Bandwidth 32

Hình 3- 1 Mô hình Load balacing cơ bản 36

Hình 3- 2 Topology vật lý load balancing cơ bản 37

Hình 3- 3 Cấu hình thông số IPv4, Netmark, và gate way cho Netscaler 44

Hình 3- 4 Khởi động thành công Netscaler 44

Hình 3- 5 Bật máy chủ 46

Hình 3- 6 Enable tính năng LB 47

Hình 3- 7 Tạo service và xem thông số service vừa tạo 49

Hình 3- 8 Show bindings Service 50

Hình 3- 9 Web-server 1 54

Hình 3- 10 Web-server 2 54

Hình 3- 11 Log monitor khi chưa có kết nối từ client tới server 55

Hình 3- 12 Chạy cân bằng tải thuật toán RoundRobin 56

Hình 3- 13 Log monitor chạy cân bằng tải thuật toán RoundRobin 57

Hình 3- 14 Logmonitor chạy cân bằng tải thuật toán LeastConnection 59

Hình 3- 15 Dung lượng trang web và lượng truy cập với công nghệ ảo hóa của Citrix 61

Trang 11

Hình 3- 16 Khả năng xử lý của Netscaler Loadbalancing 61

Hình I- 1 Đường dẫn download Netscaler 66

Hình I- 2 Download Netscaler 67

Hình I- 3 Thực hiện cài đặt Netscaler 67

Hình I- 4 Import gói cài vào Vmware 68

Hình I- 5 Màn hình import xong gói cài 69

Hình I- 6 Upgrate version virtual mechine cho Netscaler 69

Hình I- 7 Quá trình chuyển đổi file ovf sang file vmx 71

Hình I- 8 Power on virtual machine Netscaler 72

Hình II- 1 Cài đặt windowsXP trên Vmware 73

Hình II- 2 Cài đặt Xampp trên windowsXP 74

Trang 12

MỞ ĐẦU

Ngày nay, khi nhu cầu truy cập mạng bùng nổ kéo theo nhu cầu ứng dụng Internet vào công việc của các doanh nghiệp ngày càng cao và khả năng sở hữu nhiều đường truyền Internet cũng khá dễ dàng tăng lên Các dịch vụ ngày càng được phát triển mở rộng, không ngừng tăng lên về số lượng cũng như chất lượng để đáp ứng nhu cầu kinh doanh của doanh nghiệp Nhưng bên cạnh đó, các server cung cấp dịch vụ này cũng theo đó mà trở nên quá tải, băng thông đường truyền cũng bị quá tải Vì vậy, việc bảo đảm sự ổn định về tốc độ cũng như tính liên tục của kết nối Internet là điều hết sức cần thiết cho doanh nghiệp

Tuy nhiên, vấn đề nâng cấp băng thông luôn là bài toán về chi phí kinh doanh có hiệu quả hay không đối với các doanh nghiệp 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 giải quyết vấn đề quá tải của server 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 cho hệ thống máy server (Load Balancing) Việc giải quyết vấn đề đường truyền bị quá tải, không chỉ đơn giản là nâng cao tốc độ hay băng thông đường truyền mà còn phải chú trọng đến việc tránh các rủi ro về sự cố trên đường truyền, giải pháp Load Balancing cho đường truyền là giải pháp tối ưu cho vấn đề này Vì

vậy em đã chọn đề tài: “Nghiên cứu công nghệ cân bằng tải (Load Balancing) ứng dụng vào triển khai cân bằng tải cho các webserver lớn trong doanh nghiệp” làm đề tài luận văn tốt nghiệp của mình

Luận văn sẽ đưa ra những cái nhìn tổng quan về kiến trúc web-server lớn cần có tính sẵn sàng và khả năng mở rộng như thế nào cũng như đưa ra những thuật toán cân bằng tải mà các công nghệ cân bằng tải đã và đang được sử dụng Cuối cùng, luận văn sẽ đi sâu phân tích, cài đặt mô phỏng bài toán cân bằng tải cho web-server cụ thể với một vài thuật toán cân bằng tải cụ thể

Trang 13

CHƯƠNG 1 – TỔNG QUAN VỀ WEB-SERVER LOAD BALANCING VỚI

KHẢ NĂNG MỞ RỘNG

Chương 1 sẽ đưa ta đến những cái nhìn tổng quan về web-server với khả năng

mở rộng với những vấn đề xung quanh nó như hiệu năng, tính có sẵn, khả năng đáp ứng Tiếp sau đó là tổng quan cho giải pháp load balancing cho những kiến trúc web này

1.1 Kiến trúc web với khả năng mở rộng

Một website với khả năng mở rộng nghĩa là khi số lượng người dùng tăng lên trong một khoảng nhất định, website vẫn đáp ứng được nhu cầu, thêm nữa, website

có khả năng dễ dàng nâng cấp lên để phù hợp với tình hình mới Tại thời điểm ban đầu, các website với khả năng mở rộng lớn thường được thiết kế để phục vụ hàng chục triệu yêu cầu mỗi ngày, sau đó, sẽ được nâng cấp để phục vụ thêm, nếu như có nhu cầu Để phục vụ được hàng chục triệu lượt truy cập mỗi ngày, website cần phải đáp ứng được yêu cầu về khả năng mở rộng (Scalability), về hiệu năng (Performance), tính đáp ứng (Responsiveness), tính sẵn có cao (High Availability), tránh được thời gian chết của hệ thống(downtime impact), khả năng bảo trì tốt và được xây dựng với giá thành tốt nhất Sau đây, người viết luận văn (NVLV) xin trình bày về các khái niệm này

1.1.1 Khả năng mở rộng

Khả năng mở rộng 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 là vô hạn sẽ cho phép nó đáp trả các yêu cầu này chỉ trong khảng 10ms

Như vậy, khả năng mở rộng là đơn vị đo sự kết hợp của các kệ số, đó là số lượng người dùng đồng thời mà một cụm server có thể hỗ trợ và thời gian cụm server cần để xử lý một yêu cầu [4]

Trang 14

Thiết kế website với khả năng mở rộng cao là yêu cầu sống còn với hầu hết các công ty dịch vụ web cũng như các doanh nghiệp hiện nay, để tồn tại và phát triển, một website cần phải đáp ứng được yêu cầu của người dùng trong thời gian

mà họ mong muốn

1.1.2 Hiệu năng

Là khả năng mà hệ thống sử dụng tài nguyên của nó một cách tốt nhất Tính thực hiện được đo bằng lượng công việc có ích mà hệ thống thực hiện được với một nguồn tài nguyên nhất định, chẳng hạn như nếu hai server có cấu hình giống nhau, server nào có thể phục vụ được nhiều người dùng hơn (người dùng chạy các ứng dụng tương đương) thì máy đó có tính thực hiện cao hơn

1.1.3 Khả năng có sẵn

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ý nó hay không?

Trong một hệ thống có khả năng có sẵn cao, nếu một web server bị lỗi hoặc đang bận thì một webserver khác sẽ tiếp quản ngay để xử lý yêu cầu Nghĩa là nếu người dùng đang làm việc với một webserver bị lỗi, toàn bộ thông tin trong phiên làm việc của người đó sẽ được chuyển qua cho một server khác đảm nhiệm [3] Như vậy, trong bất cứ trường hợp nào, người dùng truy cập vào các dịch vụ của hệ thống đều được đáp ứng, chính vì vậy mà người dùng luôn cảm thấy được phục vụ tốt nhất

1.1.4 Tính đáp ứng

Tính đáp ứng ở đây có thể hiểu là khả năng phục vụ người dùng của hệ thống, làm sao để hệ thống có thể phục vụ người dùng tại mọi thời điểm, và thời gian cho đáp ứng đó là bao nhiêu

Hệ thống gửi response về càng nhanh thì đáp ứng của nó càng cao, ngược lại, nếu thời gian trì hoãn (delay) càng lớn, sẽ khiến người dùng thất vọng, và dẫn tới việc họ tin là trang web đang bị hỏng, điều này rất có hại vì nếu người dùng mất

Trang 15

niềm tin, họ sẽ không quay trở lại trang web đó nữa Chẳng hạn như khi người dùng truy cập vào một trang web, nếu phải họ phải chờ quá lâu, họ sẽ chuyển qua làm công việc khác, đôi khi họ quên mất là mình đang truy cập vào một dịch vụ web và

họ đóng luôn trình duyệt, hoặc họ quay trở lại sau một thời gian khá lâu, điều này rất không tốt vì hệ thống mà họ truy cập vẫn hoạt đồng và lưu giữ session mà không phục vụ cho ai cả, đó là một sự lãng phí lớn [3]

Ở đây cần phải hiểu rằng, tính đáp ứng và tính thực hiện độc lập với nhau, một

hệ thống có hiệu năng tốt vẫn có thể đáp ứng rất tệ

1.1.5 Downtime impact

Downtime impact Là một vấn đề mà tất cả các hệ thống đều gặp phải, đó là thời gian mà hệ thống bị “chết”, khi mà một số các chức năng chính bị down, đây là vấn đề có tính tuần hoàn đối với các nhà phát triển hệ thống

Một hệ thống tốt sẽ giúp người dùng truy cập nhanh, làm họ cảm thấy hài lòng, dẫn đến số lượng người dùng tăng lên, và khi số lượng người dùng tăng lên,

hệ thống sẽ lại bị tắc nghẽn, và nhà quản trị sẽ phải đối phó với vấn đề nó, giải quyết nó nhằm tạo ra hệ thống hoạt động tốt hơn, cứ như vậy, vòng quay lại tiếp tục

Điều quan trọng là một hệ thống tốt cần phải kéo thời gian chu kỳ này lên, nghĩa là làm sao cho hệ thống hoạt động được tốt nhất trong một thời gian dài trước khi cần phải nâng cấp, cũng như làm sao để xây dựng được một hệ thống có khả năng mở rộng lớn

Cùng với các đòi hỏi này, hệ thống cũng cần phải có thể dễ dàng bảo trì và giá thành vừa phải Xây dựng một hệ thống web như vậy sẽ gặp rất nhiều vấn đề khó khăn, sau đây, NVLV xin trình bày ra những vấn đề quan trọng nhất trong việc thiết kế một trang web có khả năng mở rộng và đáp ứng tính sẵn sàng mà bất cứ nhà phát triển hệ thống web nào cũng phải giải quyết, đó là cân bằng tải cho application servers

1.2 Giải pháp load balancing cho kiến trúc web với khả năng mở rộng 1.2.1 Cân bằng tải cho webserver

Trang 16

Một trang web phục vụ hàng triệu lượt người truy cập mỗi ngày thì điều quan trọng đầu tiên là phải có một hệ thống server đủ mạnh, khi người dùng tăng lên theo thời gian, hệ thống máy chủ cũng phải được nâng cấp, mở rộng Có 2 sự lựa chọn ở đây: Mở rộng theo chiều ngang (Scale out) và mở rộng theo chiều dọc (Scale up)

1.2.1.1 Mở rộng theo chiều dọc

Mở rộng theo chiều dọc nghĩa là, khi số lượng người dùng tăng lên, nhà phát triển sẽ nâng cấp server của mình bằng cách tăng cấu hình của máy server, hệ thống vẫn chỉ có một server với cấu hình ngày càng mạnh hơn (tăng số lượng chip, tăng dung lượng RAM,…)

Sử dụng phương pháp này, người quản trị hệ thống sẽ không phải quan tâm đến vấn đề cân bằng tải cho cụm server, hệ thống hoạt động rất tốt khi số lượng người dùng vừa phải Tuy vậy, phương pháp này sẽ dẫn đến nhiều vấn đề, đầu tiên

là giá thành, nhìn vào bảng so sánh giá ở trang dưới, sử dụng một server sẽ tốn kém hơn rất nhiều so với nhiều servers, một vấn đề nữa cũng quan trọng không kém là vấn đề về downtime impact, vì chỉ có một server nên nó trở thành SPOF(Single Point Of Failure-Một điểm trong hệ thống mà nếu nó ngừng hoạt động, toàn bộ hệ thống sẽ bị tê liệt), nếu như server này bị chết, ngay lập tức toàn bộ hệ thống sẽ chết Phương pháp này còn dẫn đến giới hạn cho hệ thống, vì đến một mức nào đó

hệ thống sẽ không thể phục vụ được nhiều yêu cầu hơn nữa, vì một hệ thống tổng thể còn phụ thuộc vào nhiều yếu tố như bandwidth hay khả năng vào ra của file trên đĩa cứng

Ví dụ sau đây sẽ cho thấy rõ điều đó, giả sử với một site video, băng thông

để xem được 1 clip ở dạng chất lượng trung bình sẽ vào khoảng 512kb/s  0,5mb/s Vậy đường truyền 100mb sẽ cho phép tối đa 200 người dùng xem đồng thời Điều gì sẽ xảy ra nếu muốn có hơn số người dùng đó?

Người ta có thể tăng băng thông cho đường truyền lên 1 gigabit nhưng đây

sẽ rơi vào tình trạng của scale up và gặp giới hạn Ngoài ra, tốc độ đọc đĩa cứng chỉ vào khoảng 400mb/s nên dù cho nó tăng tốc đường truyền lên thì server vẫn không

Trang 17

thể phục vụ nhiều hơn nữa Như vậy, sử dụng scale up không thể giải quyết được vấn đề này

1.2.1.2 Mở rộng theo chiều ngang

Giải pháp thứ hai là lắp nhiều server song song, và chúng hoạt động thành một cụm (Cluster) Theo ví dụ ở trên, cứ lắp thêm một server lại có khả năng đáp ứng cho 200 người dùng nữa, và càng nhiều server thì khả năng mở rộng lại càng lớn Thêm nữa, sử dụng phương pháp này còn giảm được chi phí Vì vậy thì điểm yếu giải pháp này là gì? Đó chính là vấn đề cân bằng tải, để cứ mối server sẽ thêm được 200 người dùng, hệ thống phải được cân bằng tải một cách tốt nhất, làm sao

để tải được phân bố đều đặn vào trong các máy server? Các server phải được nối với nhau như thế nào đều là những bài toán khó Bảng 1.1 dưới đây sẽ cho chúng ta thấy ưu và nhược điểm của từng phương pháp:

Bảng 1- 1 So sánh scale out và scale up

Một server cực mạnh Nhiều server nhỏ

- Hệ thống hoạt động hiệu quả

- Giảm thiểu chi phí

- Phục vụ được lượng user lớn nếu giải quyết tốt bài toán cân bằng Nhược điểm - Chị phí rất đắt(đặc biệt

khi số lượng người dùng tăng cao)

- Có giới hạn nhất định

- Downtime problems

- Phát sinh nhiều vấn đề: cân bằng tải, quản lý session, cần thiết phải

Trang 18

cầu từ phía người dùng sẽ được chuyển vào một trong các servers này xử lý, từ đó, xuất hiện bài toán cân bằng tải (load balancing - LB) cho cluster này

Nhà phát triển hệ thống phải làm sao để các server hoạt động cân bằng, nghĩa

là các server được phục vụ một lượng yêu cầu phù hợp, tránh không để bất cứ server nào bị quá tải(overload), đồng thời tận dụng được hết tài nguyên hệ thống, để phục vụ được lượng truy cập lớn nhất

Như đã đề cập ở phần mở đầu, để cân bằng tải cho hệ thống web-servers cần phải xây dựng một bộ gọi là bộ cân bằng tải(load balancer) Bộ cân bằng tải này được đặt trước cluster, nhận request từ phía người dùng, xử lý các yêu cầu này và chuyển hướng chúng đến máy server phù hợp

Hình 1- 1 Mô hình cân bằng tải web-server

1.2.2 Lợi ích của giải pháp Load Balancing

a) So sánh hệ thống có cân bằng tải và hệ thống thông thường

Trang 19

Hình 1- 2.So sánh hệ thống có cân bằng tải và hệ thống thông thường

Bảng 1- 2 So sánh hệ thống có cân bằng tải và hệ thống thông thường

Tính xử lý ứng dụng Xử lý đa nhiệm Xử lý đơn nhiệm

b) Những tổ chức nào cần có giải pháp cân bằng tải

- Trường đại học, viện nghiên cứu,…

c) Lợi ích của Load Balancing

Server Load Balancing (máy chủ cân bằng tải) là một quá trình phân phối các yêu cầu dịch vụ trên một nhóm các máy chủ Server Load Balancing (máy chủ cân

Trang 20

bằng tải) ngày càng trở nên quan trọng trong hệ thống cơ sở hạ tầng mạng trong doanh nghiệp:

- Tăng cường khả năng mở rộng: Thêm hoặc bớt server một cách dễ dàng

- Nâng cao hiệu suất

- Tính sẵn sàng cao và khắc phục sự cố cao: hệ thống có nhiều server nên

hệ thống có tính dự phòng

- Tính quản lý: Theo dõi và quản lý tập trung hệ thống server, bảo dưỡng

hệ thống server mà không cần tắt các dịch vụ

- Làm việc được với nhiều hệ điều hành

Nhiều ứng dụng chuyên sâu có quy mô lớn, vì vậy đòi hỏi các máy chủ phải

có sự cân bằng tải cho nhau mới có thể chạy tốt các ứng dụng như vậy Cả doanh nghiệp và nhà cung cấp dịch vụ cần sự linh hoạt để triển khai thêm các máy chủ một cách nhanh chóng để đáp ứng được nhu cầu xử lý công việc trong doanh nghiệp Server Load Balancing làm cho nhiều máy chủ xuất hiện như là một máy chủ duy nhất, một dịch vụ đơn ảo, phân phối các yêu cầu người sử dụng trong các máy chủ

Hãy tượng tượng máy chủ xử lý 1 yêu cầu của client mất khoảng 3s, vậy sẽ như thế nào nếu có khoảng 10.000 yêu cầu được gửi đến đồng thời tới một máy chủ? Load Balancing sẽ chịu trách nhiệm phân phối 10.000 yêu cầu này cho một nhóm máy chủ cùng xử lý

Mỗi máy chủ sẽ nhận được số lượng yêu cầu dựa vào khả năng xử lý của nó vào thời điểm đó Qua đó giúp việc xử lý các yêu cầu đồng thời của nhiều client được nhanh chóng và không gây nên hiện tượng quá tải cho một máy chủ riêng biệt Lợi ích thứ ba của cân bằng tải máy chủ là khả năng cải thiện tính sẵn sàng ứng dụng Nếu một ứng dụng hoặc máy chủ không thành công, cân bằng tải có thể

tự động phân phối lại yêu cầu dịch vụ người dùng cuối đến các máy chủ khác trong một nhóm xử lý Khi một máy chủ nào trong nhóm có vấn đề thì các session đang

Trang 21

được nó xử lý sẽ tự động chuyển qua cho các máy chủ khác thực hiện mà client không bị mất session

Ngoài ra việc xây dựng mô hình load balancing giúp cho công tác bảo trì của nhân viên kỹ thuật thuận lợi hơn, họ có thể tiến hành bào trì từng bước mà không gây gián đoán đến dịch vụ của mình

1.3 Các phương pháp triển khai Load Balancing

Có 2 phương pháp cơ bản để triển khai load balancing cho web server là cân bằng tải bằng phần cứng và cân bằng tải bằng phần mềm

c) Proxy server (Load Balancing)

Đây là hệ thống chuyển tiếp thông tin và kiểm soát thông tin, tạo sự an toàn cho server web, database server

Chức năng Load Balancing (LB) cho các web server sẽ được cài đặt trên máy chủ Proxy này

Trang 22

1.3.1.2 Mô hình giải pháp high availability và load balancing cho

o Hai Server đóng vai trò control việc load balancing: Mỗi Server cần

có 2 Interface.Vì là nơi chuyển traffic chính nên yêu cầu throughput cho network traffic cao Khả năng throughput này dựa trên CPU và RAM

Trang 23

o Hai Server đóng vai trò Website: Lưu trữ thông tin website trên đây Trên hai Server ta có có thể setup mysql để làm database

Cách thức hoạt động: Hai Server đảm nhận vai trò là LoadBalancer và Firewall

Server Load Balancer:

- LB1 Server đóng vai trò là active Server còn lại giữ vai trò standby (LB2)

- Khi bên ngoài truy cập đến website thông qua địa chỉ: IP WAN3 sẽ được redirect theo đường dẫn (mũi tên màu đen) đến server LB1 (Active) LB1 sẽ

tự động thực hiện nắm giữ việc load balancing tới 2 Web Server

- Khi Server LB1 không còn khả năng phục vụ, lúc này server LB2 sẽ được tự động chuyển lên Active tiếp tục nắm giữ việc load balancing đến 2 Web Server, đảm bảo cho việc truy cập đến website liên tục đối với người dùng internet (đường dẫn mũi tên màu đỏ)

- Khi Server LB1 up lên lại, vai trò sẽ được tự động chuyển lại cho LB1

- Bằng cách này ta có thể đảm bảo độ sẵn sàng cao và cân bằng tải cho website

Server Firewall:

Các Web Server sẽ được đặt trong vùng DMZ được bảo vệ bởi LoadBalancer (Nhờ vào Firewall được cài đặt trên Load Balancer)

Trang 24

Hình 1- 4.Mô hình Load balancing 6 server

Mô hình ở Hình 1-4 thích hợp cho trường hợp dữ liệu trong database lớn và yêu cầu bảo mật cao và Web Server thực thi Read và Write liên tục đến Database Với mô hình ở Hình 1-4:

- Web Server và Database chạy độc lập trên mỗi Server vật lý

- Có thể triển khai cấu hình phần cứng thích hợp cho Web Server và Database Server

- Đảm bảo Secure Trường hợp Hacker tấn công nắm quyền kiểm soát trên Web Server thì nghĩa là vẫn còn phải thao tác kết nối đến Database Server Việc Replicate giữa hai Database Server sẽ không ảnh hưởng nhiều đến khả năng hoạt động của Web Server (Do chạy độc lập) Tăng khả năng chịu tải của Web Server (Do không phải share resource với database) Việc truy xuất dữ liệu chỉ trong mạng LAN và không ảnh hưởng đến hai Load Balancer

Với mô hình trên, lượng request từ Internet sẽ được phân tải đến bốn Server Database trên mỗi Server sẽ đồng bộ với nhau (Lên đến 4) Lúc này, do Load

Trang 25

Balancer phải chịu tải lên đến bốn Server Vì vậy, yêu cầu cấu hình mạnh cho 2 máy LoadBalancer

Ngoài ra hiện nay còn có những thiết bị phần cứng load balancer chuyên dụng như F5 BigIP cho hiệu quả rất cao Tuy nhiên, đi kèm với đó là chi phí bỏ ra cho các thiết bị này cũng không hề nhỏ mà không phải công ty nào cũng có thể đâu tư được

1.3.2 Load balancing bằng phần mềm

Một thiết bị cân bằng tải bằng phần cứng giải quyết được những vấn đề lost session nhờ vào cơ chế chuyển đổi dự phòng của nó (active-standby) Nhưng cái giá phải trả cho sự lựa chọn này là chi phí rất đắt đỏ Một thiết bị Big-Ip 6800 của F5 Networks hay thiết bị của Citrix có giá lên tới gần hoặc bằng 50 nghìn USD Vì vậy, lựa chọn tối ưu cho những công ty có tiềm lực kinh tế vừa và nhỏ là sử dụng phần mềm load balancing với giá vừa phải hay sử dụng các phần mềm load balancing mã nguồn mở

Tuy nhiên vậy, giá của các phần mềm được cung cấp bởi F5 hay Citrix cũng vẫn

là một thách thức lớn đối với các nhà phát triển web và tất nhiên các phần mềm này hoạt động rất hiệu quả và tương thích nhiều môi trường khác nhau

Giải pháp phầm mềm thường sử dụng hai thuật toán chính là thuật toán cân bằng tải tĩnh (Static LB – DNS Round Robin) và thuật toán cân bằng tải động Các thuật toán này sẽ được trình bày kỹ hơn trong Chương 2

1.4 Kết Luận

Server Load Balancing là một kỹ thuật mạnh mẽ để nâng cao tính sẵn sàng ứng dụng và hiệu quả trong việc cung cấp dịch vụ, các nhà cung cấp dịch vụ web cung cấp nội dung và mạng lưới doanh nghiệp, thực hiện trọn vẹn nhưng cũng có thể làm tăng chi phí và độ phức tạp mạng Bên cạnh những ưu thế từ việc ứng dụng Server Load Balancing và các thiết bị không dây, nó còn có hạn chế là nếu hoạt động ở tốc

độ cao cũng có thể tạo ra nghẽn cổ chai của riêng mình

Trang 26

CHƯƠNG 2 – CÂN BẰNG TẢI WEB SERVER BẰNG PHẦN MỀM

Mỗi doanh nghiệp lại có một cơ sở hạ tầng cũng như cơ sở tài chính khác nhau, và mỗi doanh nghiệp cũng có mục đích kinh doanh khác nhau để kiếm lợi nhuận Cho nên, họ tìm những giải pháp khác nhau sao cho phù hợp với điều kiện của họ để làm sao đạt được hiệu quả tốt nhất Họ cân nhắc chọn ra giải pháp cân bằng tải nào, phần cứng hay phần mềm, và thuật toán sẽ áp dụng cho các trang web của họ ra sao là một điều hết sức khó khăn Chương 2 sẽ đưa ra các giải pháp cân bằng tải cho phần mềm dựa trên các thuật toán cân bằng tải tĩnh và cân bằng tải động đáp ứng theo từng điều kiện của mỗi doanh nghiệp

2.1 Thuật toán cân bằng tải tĩnh (Static LB)

2.1.1 Thuật toán DNS Round Robin

Thuật toán cân bằng tải DNS Round Robin (DNSRR) dựa trên thuật toán Round Robin (RR) Đâ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

Để cân bằng tải bằng DNS, máy chủ DNS phải duy trì 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 một cluster,

tất cả trong số chúng đều được map đến một tên site logic

Trang 27

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

10.0.84.115, máy đầu tiên Khi có yêu cầu thứ hai, nó sẽ trả về địa chỉ IP thứ hai: 10.0.84.116 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

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

Trang 28

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

2.1.2 Thuật toán Weighted Round Robin

Weighted Round Robin (WRR) cũng là thuật toán phổ biến cho cân bằng tải

tĩnh Nguyên lý WRR cũng giống như RR, nhưng sự khác biệt duy nhất ở đây là

mỗi máy chủ sẽ được đánh trọng số weight Trọng số này đặc trưng cho cấu hình và

khả năng xử lý yêu cầu của mỗi server Ví dụ máy chủ A có cấu hình gấp đôi máy

chủ B thì sẽ nhận yêu cầu xử lý gấp đôi máy chủ B Hình 2-2 minh họa cụ thể thuật

toán này

Hình 2- 2 Thuật toán Weighted Round Robin

Tuy nhiên sử dụng phương pháp này thì dễ làm mất cân bằng tải động nếu như

tải của các yêu cầu liên tục thay đổi trong một khoảng rộng Trong một khoảng thời

gian ngắn, hoàn toàn các yêu cầu tải cao sẽ cùng truyền đến một server

2.2 Thuật toán cân bằng tải động (Dynamic LB)

2.2.1 Thuật toán Dynamic Round Robin (DRR)

Trang 29

Thuật toán DRR hoạt động gần giống WRR, điểm khác biệt là trọng số ở đây dựa trên sự kiểm tra server một các 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 thuật toán đã trình bày ở trên đều là thuật toán tĩnh), việc chọn server dựa trên thời gian thực hiện, 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

Thuật toán này để thực thi được thì không hề đơn giản, do ta phải xây dựng một hàng đợi dựa trên trọng số thay đổi của các server Việc này có thể dụng một con trỏ cấu trúc để lưu lại các server, mỗi lần tạo một kết nối mới cho server nào đó, chúng ta sẽ phải tính toán lại vị trí của nó trong con trỏ cấu trúc.[1]

2.2.2 Thuật toán Fastest

Thuật toán Fastest là thuật toán cân bằng tải bằng cách chọn server dựa trên thời gian đáp ứng của mỗi server (response time), server nào có thời gian response time nhanh nhất sẽ được chọn Thời gian này đượ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 đến yêu cầu tiếp theo đến server nào

Thuật toán Fastest thường được dùng khi mà các server được cài đặt dọc theo 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 nhất, 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ụ Để thực thi được thuật toán này người ta cũng dựa vào IP để chuyển hướng yêu cầu Ví dụ người dùng truy cập vào site http://vietinbank.vn, nếu IP của người dùng đến từ Hà Nội thì yêu cầu sẽ được chuyển vào server ở Hà Nội để xử lý Điều này giúp tiết kiệm băng thông và cải thiện tốc độ đường truyền.[8]

2.2.3 Thuật toán Least Connections (LC)

Thuật toán LC là thuật toán cân bằng tải xác định server được chọn là server

có ít kết nối từ phía người dùng nhất trong hệ thống tại thời điểm đó Thuật toán này

Trang 30

được coi như thuật toán động, vì nó cần phải đếm số kết nối đ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ốt 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 Thuật toán LC được triển

khai trên nhiều thiết bị LB như các thiết bị của F5-Network hay Citrix hoặc các

thiết bị LB nhỏ khác.[8]

Chúng ta có thể theo dõi Hình 2-3 để có thể thấy rõ ràng hơn về luồng hoạt

động của LC:

Hình 2- 3 Thuật toán Least Connections

Hình 2-3 giả thiết có ba service tương ứng tượng trưng cho 3 web server LC

sẽ chọn service nào mà đang có ít kết nối nhất từ người dùng để gửi request mới đến

cho nó Giả sử tại thời điểm xét ta có:

- Service 1: đang có 3 kết nối

- Service 2: đang có 15 kết nối

- Service 3: đang không có kết nối nào

Trang 31

Bảng 2-1 sẽ giải thích các kết nối đƣợc phân phối cho ba service trên nhƣ sau với N là số requestđã xử lý của web-server:

Bảng 2- 1.Thuật toán Least Connections

Request Received Service đƣợc

Service-HTTP-2 đƣợc chọn nếu tại một thời điểm nào đó mà cả hai service 1

và 3 bị tắt đi, hoặc khi service 1 và 3 có số kết nối tới chúng bằng 15

Nhƣ vậy thì LC sẽ phân request đầu tiên đến cho Service 3 vì nó đang không

có kết nối nào tới nó cả Sau đó nó tiếp tục nhận những request thứ 2 và thứ 3 Bây giờ số kết nối tại Service 1 và 3 bằng nhau, LB sẽ sử dụng RR để chọn Service đƣợc nhận request thứ 4 Ở đây thì Service 1 sẽ nhận request thứ 4

Trang 32

Service 3 sẽ nhận request thứ 5 Cứ như vậy, hai Service 1 và 3 nhận số kết nối tới nó cho tới khi giá trị kết nối bằng Service thứ 2 Và từ đó, quá trình RR lặp lại và quá trình của LC lại lặp lại

Tuy nhiên, thì thuật toán này lại không hoạt động tốt khi các server có cấu hình biến thiên Đó chính là do trạng thái TIME_WAIT của TCP TIME_WAIT này thường đặt là 2 phút, trong 2 phút đó một website bận rộn có thế nhận tới hàng 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ý hàng ngàn yêu cầu và giữ những yêu cầu này trong trạng thái TIME_WAIT của TCP Trong khi đó, server B cũng phải xử lý hàng ngàn yêu cầu như server A, mà cấu hình server B yếu hơn nên sẽ chậm chạp 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.2.4 Thuật toán Observed

Observed là thuật toán kết hợp giữa LC và Fastest Nó chỉ tồn tại trong các giải pháp của F5 Network Ở đây người ta phát triển hệ thống phải cân bằng giữa 2 yếu tố: số kết nối đến một 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 dự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 học dựa trên số kết nối của một 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ả

LC và Fastest Thuật toán LC không chú trọng vào không gian nghĩa là một người dùng truy cập ở Hà Nội có thể kết nối được 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à tiết kiệm được rất nhiều băng thông Trong khi đó, Fastes 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ể dẫn đến bị treo, gây ra mất kết nối tại thời điểm đó Sự cân bằng giữa số

Trang 33

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 [2]

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.2.5 Thuật toán Predictive

Thuật toán Predictive là sự phát triển tiếp theo của Observed Nhưng trong 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 của server đang tăng lên, thời điểm nào đang giảm xuống

Như vậy, giả sử như hai server theo đánh giá của 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.2.6 Thuật toán Least Bandwidth (LBw)

Thuật toán Least Bandwidth (LBw) là thuật toán xác định xem server nào đang chiếm ít băng thông nhất thì được chọn Đơn vị mà thuật toán xác định cho băng thông tính theo megabits trên giây (Mbsp) Thuật toán này chỉ được phát triển bởi các sản phẩm của Citrix.[8]

Hình 2-4 dưới đây sẽ cho ta hiểu rõ về thuật toán này Trong hình, ta giả sử

có ba server, mà mỗi server đang chiếm lượng băng thông như sau:

- Server 1: 3Mbsp

- Server 2: 5Mbsp

- Server 3: 2Mbsp

Trang 34

Hình 2- 4 Cân bằng tải Least Bandwidth

Server Load Balancing sẽ chọn service mà đang dùng có giá trị bandwidth (ký hiệu giá trị đang dùng là: N) ít nhất để gửi request tới cho nó phục vụ người dùng Nếu giả thiết mỗi request là 1 Mbps thì LB server sẽ gửi request như trên Hình 2-4 Bảng 2-2 dưới đây sẽ cho ta thấy rõ hơn về quá trình các service được chọn để phục vụ người dùng:

Bảng 2- 2 Thuật toán Least Bandwidth

Request Received Service được chọn Giá trị N hiện tại

Request-1 Service-HTTP3

(N=2)

có N nhỏ nhất Request-2 Service-HTTP1

(N=3)

Service-HTTP-1 có giá trị N bằng nhau

Request-3 Service-HTTP3

(N=3)

4

Trang 35

(N=4) Request-5 Service-HTTP3

o Service 3 giá trị N3 tăng lên là 3Mbps

- Sau đó request 2 sẽ được chuyển tới Serivce 1 theo thuật toán RR do giá trị N1=N3 Request được chuyển tới Service 1 Giá trị N tại thời điểm này:

o Service 1 giá trị N1 = 4 Mbps

o Service 2 giá trị N2 = 5Mbps

o Service 3 giá trị N3 tăng lên là 3Mbps

- Request 3 sẽ chuyển tới Service 3 Tiếp tục như vậy, Service 1 nhận request thứ 4, Service 3 nhận request thứ 5 và service 1 nhận request thứ

6 Tại thời điểm request thứ 6 được chuyển tới Service 1 thì giá trị N1 và N3 đã lên là 6Mbps Chính vì thế request thứ 7 sẽ tới Service 2

2.3 Kết luận

Chương 2 đã cho ta thấy một cái nhìn sâu hơn về các thuật toán cân bằng tãi tĩnh như DSN Round Robin hay Weighted Round Robin và các thuật toán cân bằng tải động như Fastest , LC, Observed, hay LBw,… cũng như các ưu nhược điểm của

Trang 36

từng loại Từ đó giúp các doanh nghiệp dễ dàng lựa chọn được thuật toán cho hệ thống của mình sao cho đạt được hiệu quả cao nhất Trong khuôn khổ luận văn, người viết luận văn sẽ tập trung và chọn mô phỏng thuật toán DSNRR và LC

Trang 37

CHƯƠNG 3 – CÀI ĐẶT VÀ MÔ PHỎNG CÂN BẰNG TẢI WEB-SERVER

VỚI CITRIX NETSCALER

Phát triển các ứng dụng đang là xu hướng phát triển chung của CNTT trong thời gian hiện tại như các ứng dụng Web, CRM, SAP và các ứng dụng riêng của doanh nghiệp hay các tổ chức

Trong chương 3, người viết luận văn sẽ đưa ra một đề bài mô phỏng cân bằng tải web-server giúp cho các doanh nghiệp hay tổ chức có thể triển khai ứng dụng của mình trên đó và luôn đảm bảo được tính sẵn sàng cũng như tính mở rộng của hệ thống

3.1 Bài toán mô phỏng đặt ra

3.1.1 Mục đích mô phỏng

Cung cấp khả năng cân bằng tải để đảm bảo tính sẵn sàng cao và khả năng

mở rộng cho web server của doanh nghiệp

3.1.2 Mô hình mô phỏng

Mô hình mô phỏng Loadbalacing mà luận văn mô phỏng sẽ dựa theo mô hình load balacing cơ bản như Hình 3-1:

Trang 38

Hình 3- 1 Mô hình Load balacing cơ bản

Theo Hình 3-1 thì mô hình sẽ gồm:

- Một máy client

- Một máy chủ cài đặt Citrix Netscaler với tính năng LoadBalancing

- Hai máy chủ web-server

Từ đó ta có thể hình dung ra topology vật lý ví dụ nhƣ Hình 3-2:

Trang 39

Hình 3- 2 Topology vật lý load balancing cơ bản

Để thực hiện cài đặt và mô phỏng theo topology ở trên, người viết luận văn xác định cần 2 máy laptop đều có cài đặt hệ thống máy ảo desktop để thực hiện mô phỏng:

- Mộtlaptop cài đặt Netscaler: đóng vai trò là máy chủ LoadBalancing (LB), Netscaler cài trên máy ảo Mục này là khó và trọng tâm nhất của mô hình

- Một laptop cài đặt 2 webserver trên hệ điều hành winxp; webserver cũng cài trên máy ảo

- Chọn 1 trong 2 máy laptop đóng vai trò là máy client thực hiện kết nối đến

Ngày đăng: 23/11/2016, 03:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Cal Valeria Cardellini, Michele Colajani, Philip S.Yu (1999), Dynamic Load Balancing on Web server Systems, IBM T.J. Watson Research Center Sách, tạp chí
Tiêu đề: Dynamic Load Balancing on Web server Systems
Tác giả: Cal Valeria Cardellini, Michele Colajani, Philip S.Yu
Năm: 1999
2. Tony Bourke (2001), Server Load Balancing, O'Reilly & Associates, Inc, tr.15, 62-70 Sách, tạp chí
Tiêu đề: Server Load Balancing
Tác giả: Tony Bourke
Năm: 2001
3. Chandra Kopparapu (2002), Load Balancing Servers, Firewall, Caches, John Wiley & Sons Inc, tr.5, 49-74 Sách, tạp chí
Tiêu đề: Load Balancing Servers, Firewall, Caches
Tác giả: Chandra Kopparapu
Năm: 2002
5. Citrix Systems Inc (2008), Citrix NetScaler Command Reference Guide, tr.9-27 Sách, tạp chí
Tiêu đề: Citrix NetScaler Command Reference Guide
Tác giả: Citrix Systems Inc
Năm: 2008
6. Citrix Systems Inc (2009), Citrix NetScaler VPX Getting Started Guide, tr.9-14 Sách, tạp chí
Tiêu đề: Citrix NetScaler VPX Getting Started Guide
Tác giả: Citrix Systems Inc
Năm: 2009
8. Citrix Systems Inc (2012), Citrix NetScaler Traffic Management Guide, tr.45- 155 Sách, tạp chí
Tiêu đề: Citrix NetScaler Traffic Management Guide
Tác giả: Citrix Systems Inc
Năm: 2012
10. Nguyễn Tuấn Linh (2013), Nghiên cứu công nghệ ảo hóa trên ứng dụng web và kết hợp tối ưu cân bằng tải, Học viện Công Nghệ Bưu Chính Viễn Thông, tr.60-70 Sách, tạp chí
Tiêu đề: Nghiên cứu công nghệ ảo hóa trên ứng dụng web và kết hợp tối ưu cân bằng tải
Tác giả: Nguyễn Tuấn Linh
Năm: 2013
4. Cal Henderson (2006), Building scalable Web Sites Khác
12. Citrix Systems Inc (2014), Citrix NetScaler VPX and CloudBridge VPX Licensing Guide Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w