서버 / 리소스로 들어오는 트래픽을 복제 / 미러링해야합니다.
나는 서버 A와 B와 N (nginx)을 웹 서버로 가지고 있음을 의미합니다.
N / resource로 들어오는 모든 트래픽-> A와 B로 리디렉션
가능합니까?
post_action
지시어를. 프로덕션 머신이 요청을 충족 한 후에 실행됩니다.
서버 / 리소스로 들어오는 트래픽을 복제 / 미러링해야합니다.
나는 서버 A와 B와 N (nginx)을 웹 서버로 가지고 있음을 의미합니다.
N / resource로 들어오는 모든 트래픽-> A와 B로 리디렉션
가능합니까?
post_action
지시어를. 프로덕션 머신이 요청을 충족 한 후에 실행됩니다.
답변:
Nginx에는 이제 http 미러 모듈이 있습니다. 설명서는 https://nginx.org/en/docs/http/ngx_http_mirror_module.html에 있습니다.
설명서의 구성 예 :
location / {
mirror /mirror;
proxy_pass http://backend;
}
location /mirror {
internal;
proxy_pass http://test_backend$request_uri;
}
다음은 nginx (1.13.4)의 새로운 기능입니다. http://nginx.org/en/docs/http/ngx_http_mirror_module.html#mirror
ngx_http_mirror_module 모듈 (1.13.4)은 백그라운드 미러 하위 요청을 생성하여 원래 요청의 미러링을 구현합니다. 하위 요청 미러링에 대한 응답은 무시됩니다.
README를 기반으로 GOR이 문제 해결에 도움이 될 것으로 보입니다.
나는 전에 그것을 사용하지 않고, 이번 주에 그것을 우연히 만났으므로 행운을 빕니다!
NGINX로 요청을 미러링 할 수 없지만 요청은 변수로 사용할 수 있습니다. 그러나 Lua 스크립팅을 사용하여 해당 변수를 하위 요청으로 타사 서버에 보낼 수 있습니다. http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
파고 파고 난 후 해결책을 찾았습니다. 여기에서 볼 수 있습니다. @scari의 실제 트래픽 테스트 를 위해 다른 nginx 서버에 요청을 복사하여 전달
다른 사람들을 쉽게 찾을 수 있도록 여기에 언급해야한다고 생각했습니다. 내 설정에서는 uwsgi를 사용하지 않았습니다. 대신 들어오는 모든 요청을 추가로드 서버 (이미로드 균형 조정 된 백본 서버 외에도)에 복제하려고했습니다.
도움이
되었으면 좋겠습니다 , Liron