Hầu như mọi ứng dụng sản xuất đều có thể hưởng lợi từ giải pháp cân bằng tải như NodeBalancers của Linode. Hướng dẫn này sẽ trình bày cách bắt đầu với NodeBalancers, bao gồm cách thiết kế ứng dụng, cấu hình NodeBalancer và cập nhật DNS.

chuẩn bị

Để bắt đầu sử dụng NodeBalancer và hưởng lợi từ cân bằng tải, ứng dụng của bạn phải được lưu trữ trên ít nhất hai Compute Instance . Mỗi phiên bản ứng dụng của bạn phải có khả năng đáp ứng đầy đủ nhu cầu của người dùng, bao gồm khả năng phản hồi các yêu cầu web, truy cập tất cả các tệp cần thiết và truy vấn bất kỳ cơ sở dữ liệu nào. Khi xác định cơ sở hạ tầng của ứng dụng, hãy xem xét các thành phần sau:

  • Triển khai ứng dụng: Bạn sẽ triển khai mã ứng dụng và cơ sở hạ tầng phần mềm cho từng Compute Instance như thế nào ? Hãy cân nhắc sử dụng triển khai git tự động hoặc công cụ CI/CD tiên tiến hơn.
  • Lưu trữ và đồng bộ hóa tệp: Các tệp của ứng dụng có nên được lưu trữ cùng với mã của ứng dụng hay bạn nên cân nhắc triển khai giải pháp lưu trữ phân tán trên các phiên bản riêng biệt? Đối với các ứng dụng đơn giản, hãy cân nhắc các công cụ đồng bộ hóa/sao lưu tệp như rsync hoặc csync2 . Để có giải pháp mạnh mẽ hơn, hãy cân nhắc hệ thống tệp phân tán như GlusterFS .
  • Sao chép cơ sở dữ liệu: Bạn sẽ duy trì tính nhất quán giữa nhiều cơ sở dữ liệu như thế nào? Hãy xem xét kiến ​​trúc được đề xuất và công cụ có sẵn cho phần mềm cơ sở dữ liệu mà bạn định sử dụng. Cơ sở dữ liệu được quản lý của Linode , khi được triển khai với tính năng sẵn sàng cao được bật, là một giải pháp được quản lý hoàn toàn tuyệt vời. Ngoài ra, Galera là tùy chọn tự lưu trữ có thể sử dụng với MySQL.

Khả năng sử dụng Cơ sở dữ liệu được quản lý

Là một phần trong cam kết liên tục của chúng tôi về đổi mới và phục vụ khách hàng tốt hơn, chúng tôi đã đưa ra quyết định chiến lược là tạm dừng bán dịch vụ Cơ sở dữ liệu được quản lý của chúng tôi cho tất cả khách hàng không triển khai cơ sở dữ liệu đang hoạt động. Chúng tôi nhận ra nhu cầu về một sản phẩm cung cấp hiệu suất cao hơn và khả năng xử lý khối lượng công việc phức tạp hơn.

Nếu bạn đã triển khai cơ sở dữ liệu hiện có, bạn sẽ tiếp tục có thể triển khai, cung cấp và quản lý dịch vụ chính xác như hiện tại và chúng tôi sẽ hỗ trợ đầy đủ khối lượng công việc Cơ sở dữ liệu được quản lý của bạn cho đến khi giải pháp cơ sở dữ liệu thế hệ tiếp theo của chúng tôi khả dụng. Để biết tin tức và thông báo trong tương lai liên quan đến Cơ sở dữ liệu được quản lý, vui lòng đăng ký bằng biểu mẫu trên trang sản phẩm của chúng tôi

Nếu bạn đang sử dụng Tường lửa đám mây Linode với NodeBalancer này, hãy cung cấp tên tường lửa. Để xem danh sách các tường lửa khả dụng, hãy đăng nhập vào Cloud Manager và chọn Tường lửa từ menu điều hướng. Nếu tường lửa chưa tồn tại, hãy Tạo Tường lửa đám mây và thêm các quy tắc tường lửa .

Sau khi ứng dụng của bạn được triển khai trên nhiều Compute Instance , bạn đã sẵn sàng để tạo NodeBalancer. Hướng dẫn đơn giản đã được cung cấp bên dưới. Để biết hướng dẫn đầy đủ, hãy xem hướng dẫn Tạo NodeBalancer .

  • Đăng nhập vào Cloud Manager , chọn NodeBalancers từ menu bên trái và nhấp vào nút Create NodeBalancer . Thao tác này sẽ hiển thị biểu mẫu NodeBalancers Create .
  • Nhập Nhãn cho NodeBalancer, cũng như bất kỳ Thẻ nào có thể giúp bạn sắp xếp NodeBalancer mới này với các dịch vụ khác trong tài khoản của bạn.
  • Chọn một Vùng cho NodeBalancer này. NodeBalancer cần được đặt trong cùng một trung tâm dữ liệu với Compute Instance của ứng dụng của bạn .
  • Nếu bạn đang sử dụng tường lửa, hãy chọn tường lửa từ danh sách Assign Firewall . Chỉ có thể chọn một tường lửa, tuy nhiên bạn có thể gắn cùng một Cloud Firewall vào nhiều NodeBalancer hoặc các dịch vụ (thiết bị) khác.Bạn cũng có thể tạo tường lửa mới bằng cách nhấp vào nút Tạo tường lửa . Thao tác này sẽ hiển thị ngăn Tạo tường lửa . Cấu hình trường bắt buộc.

Nhấp vào nút Tạo Tường lửa để hoàn tất việc tạo Tường lửa đám mây và quay lại biểu mẫu Tạo NodeBalancers .

Theo mặc định, Tường lửa đám mây mới chấp nhận tất cả các kết nối đến và đi. Chỉ các quy tắc tường lửa đến mới áp dụng cho NodeBalancer, hãy xem Quy tắc đến của Tường lửa đám mây dành cho NodeBalancer . Có thể thêm các quy tắc tùy chỉnh khi cần trong ứng dụng Tường lửa. Hãy xem Thêm quy tắc .

Trong khu vực Cài đặt NodeBalancer , có một khối cấu hình duy nhất với các phần để cấu hình cổng, xác định kiểm tra tình trạng và gắn các nút back-end. Có thể thêm các cổng bổ sung bằng cách sử dụng nút Thêm cấu hình khác .

Các tham số được đề xuất sau đây có thể được sử dụng để triển khai trang web. Đối với các ứng dụng khác hoặc để tìm hiểu thêm về các cài đặt này, hãy xem hướng dẫn Tùy chọn cấu hình .

Cổng: Để cân bằng tải một trang web, hãy cấu hình hai cổng: cổng 80 và cổng 443. Mỗi cổng này có thể được cấu hình riêng. Xem Tùy chọn cấu hình > Cổng .

Giao thức: Hầu hết các ứng dụng đều có thể hưởng lợi từ việc sử dụng giao thức TCP . Tùy chọn này linh hoạt hơn, hỗ trợ HTTP/2 và duy trì các kết nối được mã hóa đến các Compute Instance ở phía sau . Nếu bạn muốn quản lý và chấm dứt chứng chỉ TLS trên NodeBalancer, hãy sử dụng HTTP cho cổng 80 và HTTPS cho cổng 443. Xem Tùy chọn cấu hình > Giao thức .

Thuật toán: Điều này kiểm soát cách các kết nối mới được phân bổ trên các nút back-end. Việc chọn Round Robin có thể hữu ích khi thử nghiệm (kết hợp với việc không có tính dính phiên). Nếu không, Least Connections có thể giúp phân bổ đều tải cho các ứng dụng sản xuất. Xem Tùy chọn cấu hình > Thuật toán .

Session Stickiness: Điều này kiểm soát cách các yêu cầu tiếp theo từ cùng một máy khách được định tuyến khi chọn một nút phụ trợ. Để thử nghiệm, hãy cân nhắc chọn None . Nếu không, Table có thể được sử dụng cho bất kỳ giao thức nào và HTTP Cookie có thể được sử dụng cho HTTP và HTTPS . Xem Tùy chọn cấu hình > Session stickiness .

Kiểm tra tình trạng: NodeBalancers có cả kiểm tra tình trạng chủ động và thụ động . Các kiểm tra tình trạng này giúp đưa các Compute Instance không phản hồi hoặc có vấn đề ra khỏi vòng quay để không có kết nối nào được định tuyến đến chúng. Các thiết lập này có thể được giữ nguyên mặc định cho hầu hết các ứng dụng. Xem lại tùy chọn Cấu hình > Kiểm tra tình trạng để biết thêm thông tin.

Các nút back-end: Mỗi Compute Instance cho ứng dụng của bạn phải được thêm vào dưới dạng một nút back-end cho NodeBalancer. Các Compute Instance này cần được đặt trong cùng một trung tâm dữ liệu với NodeBalancer của bạn và được gán địa chỉ IP riêng. Đặt Nhãn cho mỗi phiên bản, chọn địa chỉ IP tương ứng từ menu thả xuống và nhập Cổng mà ứng dụng đang sử dụng trên phiên bản đó. Xem Các nút back-end ( Compute Instance ) .Đối với hầu hết các ứng dụng web có cổng vào 80 và 443 được cấu hình bằng giao thức TCP , bạn có thể thiết lập các nút back-end để sử dụng cùng một cổng. Nếu bạn đang sử dụng giao thức HTTPS , việc chấm dứt TLS sẽ diễn ra trên NodeBalancer và Compute Instance của bạn chỉ cần lắng nghe trên cổng 80 (không được mã hóa). Nếu đúng như vậy, các nút back-end cho cả hai cổng vào có thể được cấu hình để sử dụng cổng 80.

  • Xem lại phần tóm tắt và nhấp vào nút Tạo NodeBalancer để cung cấp NodeBalancer mới của bạn.

Cập nhật DNS

Sau khi triển khai NodeBalancer và đặt ứng dụng của bạn đằng sau NodeBalancer, giờ đây bạn có thể truy cập ứng dụng bằng địa chỉ IPv4 và IPv6 công khai của NodeBalancer. Vì hầu hết các ứng dụng công khai đều sử dụng tên miền nên bạn cần cập nhật mọi bản ghi DNS liên quan. Bản ghi A phải sử dụng địa chỉ IPv4 của NodeBalancer và bản ghi AAAA (nếu bạn đang sử dụng) phải sử dụng địa chỉ IPv6 của NodeBalancer. Xem Quản lý NodeBalancer để xem địa chỉ IP của NodeBalancer. Để được trợ giúp về việc thay đổi bản ghi DNS, hãy tham khảo tài liệu của nhà cung cấp DNS. Nếu bạn đang sử dụng Trình quản lý DNS, hãy xem Chỉnh sửa bản ghi DNS . Hãy nhớ rằng việc thay đổi DNS có thể mất tới 24 giờ để truyền bá hoàn toàn, mặc dù điều đó thường diễn ra nhanh hơn nhiều.

nguồn: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers