Điểm:0

Cách định cấu hình proxy cân bằng tải Apache với chế độ chờ nóng BalancerMember

lá cờ vn

Tôi có hai bộ chứa docker, mỗi bộ chứa một ứng dụng đang chạy trên cổng 8080. Ứng dụng này có điểm cuối REST "/ status" có thể báo hiệu nếu ứng dụng vẫn có tài nguyên để chấp nhận yêu cầu khác của người dùng. Yêu cầu của người dùng sẽ được chuyển tiếp và cân bằng tới hai vùng chứa bằng một proxy Apache cân bằng tải.

Những gì tôi muốn đạt được:

  1. Nếu ứng dụng trong vùng chứa báo hiệu rằng nó không muốn nhận thêm yêu cầu thì bộ cân bằng sẽ không chuyển tiếp yêu cầu tới vùng chứa này
  2. Nếu mọi đang chạy tín hiệu máy chủ ứng dụng để không nhận bất kỳ yêu cầu nào, dù sao thì một trong những máy chủ đó sẽ nhận được yêu cầu.

Những gì tôi đã cấu hình:

<VirtualHost *:80>
    ProxyRequests off
    ProxyPreserveHost On
    
    ProxyHCExpr status_ok {hc('body') ~ /Status: ok/}
    
    <Proxy balancer://application-cluster>
            BalancerMember http://application1:8080 route=worker1 hcexpr=status_ok hcmethod=get hcuri=/status
            BalancerMember http://application2:8080 route=worker2 hcexpr=status_ok hcmethod=get hcuri=/status
            BalancerMember http://application1:8080 route=standby status=+H
            ProxySet lbmethod=byrequests 
    </Proxy>
    
    <Location /balancer-manager>
            SetHandler balancer-manager
    </Location>

    ProxyPass /balancer-manager !

    ProxyPass / balancer://application-cluster/
    ProxyPassReverse / balancer://application-cluster/
</VirtualHost>

Như bạn có thể thấy ở đây, ứng dụng1 được xác định là dự phòng nóng và phải là "nạn nhân" để xử lý các yêu cầu nếu tất cả các Thành viên Cân bằng khác đang "ngoại tuyến" cho các yêu cầu mới

Những gì hoạt động:

  • Các yêu cầu được cân bằng tải cho cả hai thành viên Balancer.
  • application1 và application2 có thể báo hiệu không nhận bất kỳ yêu cầu nào. Trong trường hợp này, cả hai Thành viên cân bằng đều hiển thị trạng thái dự kiến ​​"Khởi tạo HcFl" trên trang Trình quản lý cân bằng.

Những gì không hoạt động:

  • ứng dụng1 không hiển thị dưới dạng chế độ chờ nóng trên trang Trình quản lý số dư
  • Do đó, các yêu cầu sẽ không được chuyển tiếp đến ứng dụng1

Điều gì là có thể nhưng tôi không muốn làm:

  • Nếu tôi định cấu hình chế độ chờ nóng để chuyển tiếp sang một cổng khác trên ứng dụng1, nó sẽ hiển thị và chuyển tiếp các yêu cầu tới cổng này.

Có vẻ như Apache chỉ xóa một BalancerMember nếu máy chủ và cổng bằng với một BalancerMember khác. Tôi có bỏ lỡ điều gì hay có cách nào khác để đạt được điều tôi muốn không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.