Thứ Năm, 21 tháng 4, 2022

Load Balancing là gì? Ứng dụng của Load Balancing

 Trong mạng máy tính, việc đảm bảo các máy chủ hoạt động đồng bộ, hiệu quả là việc rất quan trọng. Load balancing là một tính năng giúp thực hiện việc đó. Vậy load balancing là gì và vì sao cần đến nó?

Nội dung

  1. Load Balancing là gì?

  2. Cách thức hoạt động của Load Balancing

    1. Website tiếp nhận lượng truy cập

    2. Lưu lượng được phân phối trên các tài nguyên máy chủ

    3. Mỗi máy chủ tiếp nhận và xử lý một khối lượng phù hợp

    4. Máy chủ trả về yêu cầu cho người dùng

  3. Lợi ích của Load Balancing là gì?

  4. So sánh Load Balancer ở phần cứng và phần mềm

  5. Phân loại cân bằng tải

    1. Server Load Balancing

    2. Network Load Balancing

    3. Global Server Load Balancing (GSLB)

    4. Container Load Balancing

    5. Cloud Load Balancing

  6. Các thuật toán load balancing

    1. Round Robin

    2. Weighted Round Robin

    3. Least Connection

    4. Weighted Response Time

    5. Source IP Hash

1. Load Balancing là gì?

Load Balancing (cân bằng tải) là một kỹ thuật bảo đảm máy chủ không bị quá tải bởi lượng truy cập. Với các biện pháp cân bằng tải, khối lượng công việc, truy cập của người dùng được phân chia đều trên các máy chủ. Việc này cung cấp khả năng chịu lỗi cao, đảm bảo tính sẵn sàng phục vụ của hệ thống.

Trong giai đoạn đầu của thời đại công nghệ số, một máy chủ duy nhất khó có thể xử lý lưu lượng truy cập lớn. Các truy cập đồng loạt với khối lượng lớn khiến cho máy chủ thường xuyên bị quá tải. Điều này dẫn đến sự cần thiết của việc cân bằng tải – load balancing.

2. Cách thức hoạt động của Load Balancing

Thông thường, một quá trình load balancing cơ bản sẽ trải qua các bước như sau:

Website tiếp nhận lượng truy cập

Đầu tiên, website của bạn sẽ nhận một lượng lớn yêu cầu từ khách truy cập. Các yêu cầu này có thể cùng một lúc đi đến máy chủ thông qua internet.

Lưu lượng được phân phối trên các tài nguyên máy chủ

Sau khi tiếp nhận, phần cứng hoặc phần mềm load balancing xử lý từng yêu cầu, sau đó điều hướng nó đến các máy chủ thích hợp.

Mỗi máy chủ tiếp nhận và xử lý một khối lượng phù hợp

Sau khi máy chủ nhận được yêu cầu, nó có thể tiếp nhận yêu cầu hoặc gửi hoặc gửi phản hồi lại với load balancer trong trường hợp không thể tiếp nhận thêm yêu cầu. Việc này giúp tránh sự quá tải ở các nút.

Máy chủ trả về yêu cầu cho người dùng

Quá trình được hoàn tất theo thứ tự ngược lại, máy chủ gửi phản hồi trở lại cho người dùng.

Các bước trên chỉ có thể hoàn thành nếu có hệ thống có nhiều tài nguyên như: nhiều máy chủ, mạng hoặc máy chủ ảo. Mặt khác, nếu chỉ có một máy chủ, tất cả yêu cầu sẽ bị dồn xử lý vào một máy chủ duy nhất. Khi đó việc cân bằng tải không còn cần thiết nữa.

3. Lợi ích của Load Balancing là gì?

Một bộ cân bằng tải có thể hoạt động như một “cảnh sát giao thông” hay một tấm lọc các lưu lượng truyền qua mạng. Nó ngăn chặn việc quá tải ở các máy chủ. Do đó, mỗi máy chủ đều có thể hoạt động hiệu quả.

Gần đây, load balancing đã trở thành tính năng của một loại công nghệ có quy mô rộng lớn – ADC (Application Delivery Controllers), tạm dịch “Bộ điều khiển phân phối ứng dụng.” ADC cung cấp cho máy chủ nhiều tính năng cân bằng tải nâng cao. Từ đó đảm bảo cân bằng khối lượng công việc, tăng chất lượng phục vụ của ứng dụng.

Ngoài việc ngăn chặn các tài nguyên bị quá tải, load balancing còn hiệu quả cho việc bảo mật, đảm bảo năng suất. ADC thường được sử dụng như một công cụ, điểm kiểm soát bảo mật, giúp ngăn chặn các mối đe dọa. Trong đó gồm cả việc ngăn chặn Tấn công từ chối dịch vụ (Denial of service attack – DOS attack).

4. So sánh Load Balancer ở phần cứng và phần mềm

Việc cân bằng tải có thể được thực hiện ở cả phần cứng lẫn phần mềm. Tất nhiên, mỗi cách đều có những ưu điểm và nhược điểm riêng. Bảng so sánh sau sẽ cung cấp sơ lược đặc điểm chung của việc cân bằng tải ở phần cứng và phần mềm. Từ đó giúp người dùng có thể lựa chọn phương thức phù hợp với nhu cầu của mình.

Phần cứngPhần mềm
Hiệu năngCao hơnThấp hơn
Tính linh hoạtKém linh hoạtLinh hoạt hơn
Khả năng ảo hóaTích hợp sẵnKhông tích hợp sẵn
Kiến trúcNhiều dung lượng vật lýDung lượng vật lý thấp
Giá thànhCao, đặc biệt là chi phí bảo trìTương đối thấp
Khả năng cấu hìnhThấpCao

Bảng so sánh load balancer dùng phần cứng và phần mềm

6. Phân loại cân bằng tải

Có nhiều cách cấu hình cân bằng tải, tùy thuộc vào các tính năng đặc thù. Bao gồm năm loại khác nhau như sau:

Server Load Balancing

Với Server Load Balancing, mục tiêu là phân chia khối lượng công việc ra nhiều máy chủ dựa theo năng lực và tính khả dụng của chúng. Server Load Balancing dựa vào các thông tin ở tầng Application để điều hướng truy cập. Server Load Balancing còn được biết đến như Layer 7 Load Balancing vì chúng sử dụng thông tin của tầng ứng dụng.

Network Load Balancing

Network Load Balancing phân chia lưu lượng truy cập giữa các địa chỉ IP, switches, routers sử dụng thiết bị một cách hiệu quả và nâng cao tính ổn định. Các cấu hình này sẽ được thực hiện ở tầng Transport, do đó, Network Load Balancing còn được gọi với tên Layer 4 Load Balancing.

Global Server Load Balancing (GSLB)

Trong Global Server Load Balancing, một trung tâm điều hành sẽ xử lý việc cân bằng tải giữa khắp nơi trên toàn thế giới thông qua một loạt những thiết bị câng bằng tải Layer 4 và Layer 7. Trong việc triển khai GSLB, thường sẽ có các thiết bị ADC ở cấp độ toàn cầu lẫn cục bộ, nơi lưu lượng truy cập được phân phối đến.

Container Load Balancing

Container Load Balancing cung cấp các phiên bản ảo hóa, riêng biệt. Phổ biến nhất hiện nay là hệ thống Kubernetes orchestration, hệ thống này có thể phân chia load giữa các container pods với nhau để giúp nâng cao tính sẵn sàng.

Cloud Load Balancing

Trong hạ tầng Cloud, có tương đối nhiều lựa chọn cho việc cân bằng tải. Cloud Load Balancing bao gồm cả Network Load Balancing (Layer-4) và Application Load Balancing (Layer-7).

6. Các thuật toán load balancing

Tùy thuộc vào các cấu hình cân bằng tải đang được sử dụng, có nhiều thuật toán giúp phân chia tải:

Round Robin

Một tập hợp các IP của máy chủ hoặc thiết bị mạng được cung cấp, sau đó, lưu lượng truy cập được chuyển hướng đến các tài nguyên theo thứ tự được liệt kê sẵn.

Weighted Round Robin

Mỗi máy tính hoặc tài nguyên mạng trong danh sách được cung cấp một điểm trọng số. Trong đó, máy có trọng số cao nhất sẽ nhận được lưu lượng truy cập lớn nhất.

Least Connection

Trong phương pháp này, tài nguyên có số lượng kết nối ít nhất sẽ được lựa chọn để tiếp nhận các yêu cầu mới.

Weighted Response Time

Thông tin về thời gian phản hồi của máy chủ được sử dụng để định hướng lưu lượng truy cập. Trong đó, máy chủ có thời gian phản hồi chậm nhất sẽ nhận lưu lượng thấp nhất.

Source IP Hash

Với phương pháp này, địa chỉ IP của máy khách được tính tới bằng một thuật toán mã hóa. Việc này giúp cho máy khách duy trì kết nối với cùng một máy chủ giữa các lần truy cập.

Tôi vừa chia sẻ về 5 loại Load Balancing và ứng dụng của nó, hy vọng qua bài viết này bạn có thể nắm rõ được cách thức hoạt động cũng như lợi ích mà Load Balancing mang lại. Cảm ơn các bạn đã dành thời gian đọc bài viết này!

=============================

* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
Cân bằng tải, Load Balancing, Load Balancer, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master