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
Load Balancing là gì?
Cách thức hoạt động của Load Balancing
Website tiếp nhận lượng truy cập
Lưu lượng được phân phối trên các tài nguyên máy chủ
Mỗi máy chủ tiếp nhận và xử lý một khối lượng phù hợp
Máy chủ trả về yêu cầu cho người dùng
Lợi ích của Load Balancing là gì?
So sánh Load Balancer ở phần cứng và phần mềm
Phân loại cân bằng tải
Server Load Balancing
Network Load Balancing
Global Server Load Balancing (GSLB)
Container Load Balancing
Cloud Load Balancing
Các thuật toán load balancing
Round Robin
Weighted Round Robin
Least Connection
Weighted Response Time
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ứng | Phần mềm | |
Hiệu năng | Cao hơn | Thấp hơn |
Tính linh hoạt | Kém linh hoạt | Linh hoạt hơn |
Khả năng ảo hóa | Tích hợp sẵn | Không tích hợp sẵn |
Kiến trúc | Nhiều dung lượng vật lý | Dung lượng vật lý thấp |
Giá thành | Cao, đặc biệt là chi phí bảo trì | Tương đối thấp |
Khả năng cấu hình | Thấp | Cao |
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!
=============================
* 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