바니시가 텍스트 파일에서 백엔드 URL 목록을 읽은 다음 프록시 캐시가 텍스트 파일에서 가져온 임의 URL로 누락 될 수 있습니까?바니시 가능 텍스트 파일에서 백엔드 호스트 목록 읽기
나는 몇 가지 배경을 제공하기 위해
/var/services/backend-urls.conf
http://backend-host-1/path/to/application
http://backend-host-2/path/to/application
http://backend-host-3/path/to/application
# etc
광택 설정
sub vcl_miss {
// read a list of urls from a text file
backendHosts = readFile("/var/services/backend-urls.conf");
//choose a random url from the file
randomHost = chooseLineAtRandom(backendHosts);
//proxy the request to the random host
set req.backend = randomHost;
}
...이 의사 코드 같은 것을 상상 무엇, 현재 프론트 엔드 실행중인 아파치 뒤에있는 여러 백엔드 응용 프로그램으로 구성된 서버 시스템에서 작업합니다. 우리는 바니시의 캐싱 기능을 활용할 수 있도록 아파치 레이어를 바니시로 바꾸는 것을 평가하고 있습니다. 또한 각 백엔드 어플리케이션의 엔드 포인트 위치를 알고있는 서비스 발견 프레임 워크가 있습니다 (엔드 포인트 URL은 새 호스트가 출현하거나 서비스가 중단됨에 따라 주기적으로 변경됩니다).
현재 우리는 RewriteMap functionality in mod_rewrite을 사용하여 요청을 백엔드 서비스로 라우팅합니다. 그런 다음 서비스 검색 프레임 워크의 내용을 기반으로 백엔드 서비스 목록을 유지 관리하는 프로세스가 있습니다.
이 모든 것은 apache가 너트를 깨는 데 쓰레기를 사용하는 것 외에는 아파치에서 잘 작동합니다. 우리가 정말로 원하는 것은 역방향 프록시입니다. 그리고 바니시에서 캐싱이 도움이 될 것입니다.
바니시가 외부 리소스에서 백엔드 URL 목록을 읽도록하는 방법이 있습니까?