add*_*onj 8 varnish amazon-web-services amazon-elb
我正在 AWS 上进行大型部署,该部署具有很高的正常运行时间要求和全天可变负载。显然,这是 ELB(弹性负载均衡器)和自动缩放的完美用例。
但是,我们也依赖 varnish 来缓存 API 调用。我最初的本能是构建堆栈,以便 varnish 使用 ELB 作为后端,进而访问 appGroup。
Varnish -> ELB -> AppServers
但是,根据一个 几个 来源是不可能的,因为ELB不断改变它的DNS主机名,其中在启动清漆缓存,这意味着更改IP不会被清漆拾起的IP地址。
然而,四处阅读,看起来人们正在这样做,所以我想知道存在哪些解决方法?也许是定期重新加载 vcl 的脚本?
在这真的不是一个好主意的情况下,是否有其他解决方案的想法?
小智 2
Varnish 实际上可以用作负载均衡器。你应该试试Varnish -> AppServers。
只需在 Varnish 配置中将每个应用程序服务器定义为导向器中的后端即可。
您甚至可以添加探测器来检查后端可用性,在请求过程中失败时重试切换到另一台服务器等。
您的 Varnish 实例托管在哪里?反潜战也有吗?您可以尝试 Varnish 哈希管理器并将 Varnish 托管在与应用程序相同的服务器上。每个实例都会处理它应该处理的请求,并将其他实例转发到正确的后端。每个唯一的 URL 将仅缓存在 1 个(可用)服务器上,并且您的缓存内存将乘以 Varnish 实例的数量,同时缓存未命中将受到限制。
| 归档时间: |
|
| 查看次数: |
5722 次 |
| 最近记录: |