5

Hiện tại, chúng tôi có 200 vùng chứa (một số ứng dụng khác nhau) chạy trong cụm mesos-marathon. Điều này nằm phía sau các cá thể HAproxy và hoạt động trên giao thức HTTP/HTTPS.Cài đặt nào trên HAProxy cần thiết để làm việc với AWS ALB (Ứng dụng cân bằng tải)?

Internet ->AWS ELB -> HAProxy -> Docker container

Bây giờ chúng ta có một yêu cầu để làm cho một ứng dụng hiện có để chạy trên giao thức WebSocket. Chúng tôi đang suy nghĩ để thêm AWS ALB mới để đạt được điều này. Do đó, thiết lập sẽ giống như

 (WebSocket) 
Internet --> new AWS ALB --> HAProxy --> Docker containers 

     (HTTP/S) 
Internet --> AWS ELB --> HAProxy --> Docker containers 

Chúng tôi cần làm gì để HAproxy hoạt động với HTTP/S hiện tại và cũng là WEBSOCKET mới?

Trả lời

0

Máy chủ có thể xử lý 65,536 ổ cắm cho mỗi địa chỉ IP. Vì vậy, số lượng có thể dễ dàng mở rộng bằng cách thêm các mạng bổ sung giao diện vào máy chủ. Trong khi đó, điều quan trọng là phải theo dõi số lượng kết nối hiện diện trên máy chủ. Khi vượt quá giới hạn, bạn có thể gặp nhiều sự cố với các kết nối TCP khác (ví dụ: không phải là có thể kết nối với máy chủ qua ssh). Vì vậy, nên giới hạn các kết nối WS WS cho mỗi nút bên trong mã của ứng dụng của bạn.

Để làm HAProxy xử lý nhiều hơn 65k kết nối chúng ta nên đi qua các bước tiếp theo ::

  1. Tạo một loạt các địa chỉ IP riêng. Để làm điều đó, hãy chọn Amazon Ví dụ -> Hành động -> Mạng -> Quản lý Địa chỉ IP Riêng tư. Chúng tôi đã thêm 3 địa chỉ IP: 192.168.1.1, 192.168.1.2, 192.168.1.3. Chỉ cần hãy nhớ rằng IP phải nằm trong cùng một mạng con với máy chủ ứng dụng thực sự của bạn.
  2. Connect để dụ HAProxy của bạn thông qua các lệnh SSH và chạy sau:

    $> ifconfig eth0:1 192.168.1.1

    $> ifconfig eth0:2 192.168.1.2

    $> ifconfig eth0:3 192.168.1.3

này sẽ bổ sung thêm 3 giao diện mạng ảo để các ví dụ.

  1. Định cấu hình HAProxy. Dưới đây là một đoạn từ tập tin haproxy.cfg cho 3 nút kết nối WS chấp nhận:

    nghe erlang_front: 8888

    mode  http 
    
    balance  roundrobin 
    
    timeout connect 1s 
    
    timeout queue 5s 
    
    timeout server 3600s 
    
    option httpclose 
    
    option forwardfor 
    
    server  xxxxx-1 192.168.0.1:8888 source 192.168.1.1 
    
    server  xxxxx-2 192.168.0.2:8888 source 192.168.1.2 
    
    server  xxxxx-3 192.168.0.3:8888 source 192.168.1.3 
    

Bây giờ HAProxy có thể xử lý hơn 65.536 kết nối WebSocket, và giới hạn các kết nối có thể dễ dàng tăng lên bằng cách thêm các giao diện mạng ảo. Ngoài ra, nó có thể thiết lập các kết nối mới khá nhanh.

Cũng Tham khảo this Blog Post

-1

Có vẻ như bạn sẽ được hưởng lợi từ việc sử dụng mới Network Load Balancer thay vì Load Balancer đàn hồi cổ điển hoặc các ứng dụng cân bằng tải.

NLB có thể xử lý (theo AWS) 10 trong số hàng triệu yêu cầu mỗi giây và hỗ trợ các kết nối lâu dài.

Các vấn đề liên quan