바니시 4를 사용하여 여러 서버의 동일한 요청에 대한 다른 내용을 캐시합니다. 한 서버의 첫 번째 요청을 캐시하고 모든 후속 요청에 대해 동일한 콘텐츠를 제공하는 것처럼 보입니다.바니시 4로 다른 내용의 여러 서버에서 캐시하기
curl을 수행하면 두 개의 캐시와 다른 연령대의 응답을 제공합니다.
끈적 거리는 행동에 대해 부하 또는 다른 어떤 요인이 있습니까? 로드가있는 Jmeter와 Apache 벤치 마크를 사용했지만 여전히 동일한 동작을합니다.
내 vcl_hash가 좋은가요? 백엔드 서버의 url과 ip의 해시 조합으로 객체를 저장하고 싶습니다.
필자의 경우, 캐시 객체의 ttl 다음에 보이는 것처럼 보입니다. varnish는 두 번째 서버에서 캐싱하고 ttl이 완료 될 때까지 동일한 값을 반환합니다. 그러나 이것이 우리가 기대하는 바가 아닙니다.
나는 무엇이 있습니까?
라운드 로빈과 hash_data를 사용합니다. 아래
backend s1{
.host = "190.120.90.1";
}
backend s2{
.host = "190.120.90.2";
}
sub vcl_init {
new vms = directors.round_robin();
vms.add_backend(s1);
vms.add_backend(s2);
}
sub vcl_recv {
set req.backend_hint = vms.backend();
}
sub vcl_hash {
hash_data(req.url);
if (req.http.host) {
hash_data(req.http.host);
} else {
hash_data(server.ip);
}
return(lookup);
}
완벽 ... 나는 생각했다. 당신의 대답은 나를 위해 일해야한다. 다른 내용에 대해, 응답은 캐시되고 캐시 된 obj를 전달하고 사용자가 소셜 네트워크에서 그의 내용을 업데이트하면 캐시 된 객체는 있어야한다. 무효화 된 새로운 res (내가 생각하는 아키텍처에 대해 생각해야합니다) – user1609085
당신이 당신의 광택 구성에 퍼지를 구현하고 당신이 개체를 무효화해야 할 때마다 사용하는 것이 좋습니다 것입니다. 여기에 링크가 있습니다 : http://book.varnish-software.com/4.0/chapters/Cache_Invalidation.html#http-purge – alejdg