Load Balancing là gì? Cách tối ưu hóa hiệu suất máy chủ
02/02/2023 10:54 am | Lượt xem : 3042
Contents
Load Balancing là gì?
Load Balancing là một tính năng cho phép các máy chủ ảo chạy đồng thời và hiệu quả hơn bằng cách phân phối tài nguyên đồng đều. Nhiệm vụ của Load Balancing là gì? Chúng ta hãy cùng tìm hiểu nhé!
Load Balancing, hay “Cân bằng tải”, là một trong những tính năng quan trọng nhất đối với các nhà phát triển và lập trình viên hệ thống.
Để dễ hình dung hơn, bạn thường có thể tìm thấy điều này khi sử dụng Internet:
Làm thế nào về việc truy cập yourdomain.com các trang web được kết nối trực tiếp mà không có Load Balancing? Có khả năng nó sẽ không được xử lý vào thời điểm tải, chậm hoặc không thể kết nối hoặc máy chủ ngừng hoạt động. Điều này là do có quá nhiều người đang truy cập website cùng một lúc ,…. Đây là lúc Load Balancing xuất hiện.
Khi máy chủ bị tắt hoặc không xử lý được, một bộ Cân bằng tải mới sẽ được thêm vào. Người dùng truy cập bộ Load Balancing. Di chuyển đến một máy chủ khác ở bất kỳ đâu để làm việc. Bất kể máy chủ chính bị sập hay quá đông đúc, tất cả các yêu cầu của người dùng đều được giải quyết.
Tại sao tôi cần biết về Load Balancing? Đây là một trong những nguyên tắc cơ bản khi bạn quyết định thuê hosting, đặc biệt là hầu hết các dịch vụ Cloud.
Lợi ích của việc Load Balancing là gì?
- Uptime
Khi máy chủ gặp sự cố, lưu lượng truy cập sẽ tự động được gửi đến một máy chủ khác. Do đó, trong hầu hết các trường hợp, các sự kiện bất ngờ có thể được phát hiện và quản lý kịp thời mà không làm gián đoạn quyền truy cập của người dùng.
- Datacenter linh hoạt
Tính linh hoạt trong việc phối hợp giữa các máy chủ là một lợi thế khác của Load Balancing. Tự động phối hợp giữa các server cũ và mới để quản lý các yêu cầu dịch vụ mà không làm gián đoạn hoạt động chung của hệ thống.
- Bảo mật trung tâm dữ liệu
Bằng cách sử dụng Load Balancing, các yêu cầu từ người dùng được nhận và xử lý trước khi được phân phối đến máy chủ. Đồng thời, quá trình phản hồi cũng trải qua quá trình Load Balancing, ngăn người dùng giao tiếp trực tiếp với máy chủ, ẩn thông tin và cấu trúc mạng nội bộ, từ đó ngăn chặn các cuộc tấn công mạng hoặc truy cập trái phép.
Những giao thức nào có thể xử lý Load Balancing?
Quản trị viên Load Balancing có thể tạo quy tắc chuyển tiếp cho 4 loại giao thức chính:
- HTTP: Theo cơ chế HTTP tiêu chuẩn, HTTP cân bằng các yêu cầu công việc. Load Balancing thiết lập đối tượng chuyển tiếp X, chuyển tiếp chính X và tiêu đề cổng chuyển tiếp X cung cấp thông tin phụ trợ về các yêu cầu ban đầu.
- httpS: Một chức năng tương tự như cân bằng http, cân bằng httpS được bổ sung bằng mã hóa, quản lý theo 2 cách: SSL chuyển qua để duy trì mã hóa cho phần phụ trợ hoặc chấm dứt SSL, đặt tải giải mã lên bộ Load Balancing và gửi lưu lượng được mã hóa đến chương trình phụ trợ.
- TCP: Trong một số trường hợp, khi một ứng dụng không sử dụng giao thức HTTP hoặc HTTPS, TCP là một giải pháp để cân bằng lưu lượng truy cập, đặc biệt là khi một cụm CSDL có một số lưu lượng truy cập.
- UDP: Load Balancer gần đây đã thêm hỗ trợ cho Load Balancing của các giao thức Internet chính như DNS và syslogs bằng UDP.
Quy tắc chuyển tiếp xác định loại giao thức và cổng của bộ Load Balancing để di chuyển sang giao thức. Cổng Load Balancing hiện được sử dụng để định tuyến lưu lượng truy cập trong chương trình phụ trợ.
Kiểm tra tình trạng của một Backend Server
Nói một cách đơn giản, kiểm tra tình trạng là theo dõi trạng thái của Backend Server. Kết nối với máy chủ phụ trợ bằng cách sử dụng các giao thức và cổng được xác định bởi các quy tắc chuyển tiếp để đảm bảo rằng máy chủ vẫn ổn định.
Nếu máy chủ ngừng hoạt động Kiểm tra tình trạng sẽ xóa máy chủ khỏi bộ chứa, điều đó có nghĩa là các yêu cầu không được chuyển tiếp đến máy chủ này cho đến khi “bài kiểm tra” kiểm tra tình trạng sau đã vượt qua.
Với quá trình này, Load Balancing. Lưu lượng truy cập có thể được chuyển tiếp trực tiếp đến các máy chủ phụ trợ giải quyết tất cả các vấn đề của người dùng.
Thuật toán Load Balancing là gì?
Tùy thuộc vào kỹ thuật Load Balancing, các thuật toán khác nhau được sử dụng để xác định trạng thái của máy chủ. Các loại thuật toán phổ biến nhất là:
- Round Robin
- Weighted Round Robin
- Dynamic Round Robin
- Fastest
- Least Connections
Load Balancing – Round Robin là gì?
Round Robin là Thuật toán để chọn máy chủ theo thứ tự để Load Balancing đi đến yêu cầu đầu tiên bắt đầu với máy chủ đầu tiên trong kho, sau đó di chuyển khoảng không quảng cáo cho phù hợp và khởi động lại ở đầu trang khi nó đến máy chủ cuối cùng.
Nhược điểm của thuật toán Round Robin là gì?
Khi người dùng có 2 yêu cầu liên tiếp, chúng có thể được gửi đến 2 máy chủ khác nhau. Điều này mất nhiều thời gian hơn để thiết lập kết nối với máy chủ thứ hai có thể trả lời thông tin người dùng cần. Để giải quyết vấn đề này, round robin thường được cài đặt cùng với các phương pháp lưu giữ session như sử dụng cookie.
Thuật toán Load Balancing – Weighted Round Robin là gì?
Giống như Round Robin, WRR cũng có thể được xử lý theo cấu hình của từng máy chủ mục tiêu. Mỗi máy chủ được tính bằng một số nguyên (giá trị trọng lượng – giá trị mặc định là 1), một máy chủ có thể xử lý gấp đôi số lượng máy chủ khác sẽ có số lượng lớn hơn và nhận được gấp đôi số lượng yêu cầu từ bộ Load Balancing.
Nhược điểm của thuật toán Weighted Round Robin là gì?
Nếu request được yêu cầu liên tục trong một thời gian dài, Weighted Round Robin sẽ gây ra sự mất cân bằng tải động.
Load Balancing – Thuật toán Dynamic Round Robin (DRR) là gì?
Thuật toán DRR hoạt động giống như thuật toán WRR, sự khác biệt được tính trọng số ở đây dựa trên thử nghiệm máy chủ liên tục. Do đó, trọng số liên tục thay đổi.
Lựa chọn máy chủ dựa trên phân tích thời gian thực về nhiều khía cạnh của hiệu suất máy chủ. Ví dụ: máy chủ trả lời nhanh nhất hoặc số lượng kết nối hiện có trên máy chủ, v.v.
Thuật toán này thường không được cài đặt trong một bộ cân bằng tải đơn giản. Nó thường được sử dụng trong các sản phẩm Cân bằng tải của F5 Network.
Load Balancing là gì – Fastest nhanh nhất?
Đây là thuật toán tính toán thời gian phản hồi (response time) của mỗi server. Thuật toán này chọn máy chủ có thời gian phản hồi nhanh nhất. Thời gian phản hồi được xác định bởi thời gian từ khi gửi gói tin đến khi nhận được phản hồi.
Việc gửi và nhận này sẽ được xử lý bởi bộ Load Balancing. Cân bằng tải biết thời gian phản hồi, thời gian phản hồi, máy chủ nào để định tuyến yêu cầu tiếp theo.
Thuật toán Fastest thường được sử dụng khi máy chủ được đặt ở một vị trí địa lý khác. Vì vậy, bất kể người dùng ở gần máy chủ nào, thời gian phản hồi của máy chủ đó sẽ là nhanh nhất. Cuối cùng, máy chủ được chọn để cung cấp dịch vụ.
Load Balancing – thuật toán Least Connections là gì?
Yêu cầu được gửi đến máy chủ ít được kết nối nhất trong hệ thống. Thuật toán này được coi là động, vì nó phải đếm số lượng kết nối đang hoạt động đến máy chủ.
Các kết nối tối thiểu hoạt động, mặc dù tải kết nối biến thiên trong một phạm vi rộng, vì vậy việc sử dụng RC khắc phục các lỗi Round Robin.
Load Balancing xử lý trạng thái như thế nào?
Trong nhiều trường hợp, ứng dụng yêu cầu khách truy cập tiếp tục kết nối với cùng một Backend Server. Thuật toán mã nguồn tạo ra một mối quan hệ dựa trên dữ liệu là IP của khách hàng. Đối với các ứng dụng web trải qua các sticky sessions, Bộ Cân bằng tải đặt cookie. Tất cả các yêu cầu từ phiên được gửi đến máy chủ vật lý.
Load Balancing dự phòng là gì?
Trong nhiều trường hợp, chỉ có bộ Load Balancing là điểm truy cập. Vì vậy, chúng ta cần một bộ Cân bằng tải thứ hai. Nó được kết nối với bộ Cân bằng tải ban đầu. Mục tiêu là cho phép phát hiện lỗi và phục hồi cho mỗi bộ Load Balancing.
Điều gì xảy ra khi bộ Cân bằng tải bị lỗi? Balancer Nó sẽ chịu trách nhiệm thay thế vì DNS di chuyển người dùng đến đó. Tuy nhiên, việc thay đổi DNS trên Internet có thể mất nhiều thời gian. Quản trị viên sẽ cho phép ánh xạ linh hoạt các địa chỉ IP mới, ví dụ, đây là trường hợp của các IP nổi.
Ánh xạ IP mới giúp loại bỏ các vấn đề về bộ nhớ đệm hiện có với các thay đổi DNS, ánh xạ IP mới cung cấp địa chỉ IP tĩnh. Tên miền có thể được liên kết với địa chỉ IP và địa chỉ IP di chuyển giữa các máy chủ.
Tóm tắt
Hy vọng những thông tin được cung cấp trong bài viết này sẽ giúp bạn đọc có cái nhìn tổng quan về việc Load Balancing nó là một trong những yếu tố cơ sở hạ tầng quan trọng nhất trong ngành mạng máy tính. Theo dõi thông tin về họ để cải thiện hiệu suất và khiến người dùng hài lòng hơn với các dịch vụ web của họ.
Các tìm kiếm liên quan đến chủ đề “Load Balancing là gì”
What is load balancer | Load Balancing Router là gì |
Load balancer | Cấu hình Load Balancing |
Sticky session là gì | Load balancing pfsense |
Balancing là gì | Load balancing Cisco |
Bài viết liên quan
Proxy Web là gì? Khi nào bạn nên chọn VPN hoặc Proxy Web an toàn
DDoS là gì? Kiểm tra website bị DDoS như thế nào?