HAProxy 고부하로 Busi 컨텐츠 반환

1831 단어 haproxy
HAProxy에 걸려 있는 서버나 서비스를 과부하로 보호하려는 경우ACL과의 협력을 통해 임계값을 초과한 새 세션을 다른 백엔드로 스트리밍할 수 있습니다.
간단하게 구성은 다음과 같다.백엔드에서 Nginx를 사용합니다.

구성은 다음과 같습니다.초의 새 세션 상한은 1000입니다.
# フロントエンドの設定
frontend frontend_001
    bind   *:80

    # バックエンドのセッションが1000を超えた場合、be_is_busy が真となる
    acl be_is_busy be_sess_rate(backend_nginx) gt 1000

    # be_is_busy が真の場合のみ、busy用バックエンドを使用する
    use_backend backend_busy if be_is_busy

    # 通常は、デフォルト用バックエンドを使用する
    default_backend backend_nginx

# デフォルト用のバックエンド
backend backend_nginx
    balance   roundrobin
    server    nginx-001 192.168.100.101:80 
    server    nginx-002 192.168.100.102:80 
    server    nginx-003 192.168.100.103:80 

# Busy用バックエンド
backend backend_busy
    balance   roundrobin
    server    nginx-004 192.168.100.104:80 
    server    nginx-005 192.168.100.105:80 
또 3be_sess_rate관하여에 다음과 같이 기재되어 있다.
be_sess_rate([]) : integer
 Returns an integer value corresponding to the sessions creation rate on the backend, in number of new sessions per second. This is used with ACLs to switch to an alternate backend when an expensive or fragile one reaches too high a session rate, or to limit abuse of service (eg. prevent sucking of an online dictionary). It can also be useful to add this element to logs using a log-format directive.
그 중에서'sessions creation rate'는 반응하지 않았지만 실험 결과 초간의 세션 수와 초간의 요청 수는 거의 같다.
또한 백엔드의 Busiy용 서버를 준비하지 않아도 HAProxy 자체는 정적 내용을 답장할 수 있다.이때 백엔드는 다음과 같다.(참고: 503 이외에는 사용할 수 없습니다.)
# Busyコンテンツを直接返答
backend backend_busy
    mode http
    errorfile 503 /usr/share/haproxy/busy.http
이렇게 되면 1초에 1천 개 이상 요청하면 그 부분은 부시에게 반납된다.

좋은 웹페이지 즐겨찾기