●Misbehaving servers(服务器停止运转)

简介:

 

  ●Misbehaving servers(服务器停止运转)
         Varnish的一个关键特色就是它有能力防御web和应用服务器宕机。
Grace mode
         当几个客户端请求同一个页面的时候,varnish只发送一个请求到后端服务器,然后让那个其他几个请求挂起等待返回结果,返回结果后,复制请求的结果发送给客户端。
         如果您的服务每秒有数千万的点击率,那么这个队列是庞大的,没有用户喜欢等待服务器响应。为了使用过期的cache给用户提供服务,我们需要增加他们的TTL,保存所有cache中的内容在TTL过期以后30分钟不删除,使用以下VCL:
sub vcl_fetch {
 set beresp.grace = 30m;
}
 
Varnish还不会使用过期的目标给用户提供服务,所以我们需要配置以下代码,在cache过期后的15秒内,使用旧的内容提供服务:
sub vcl_recv {
 set req.grace = 15s;
}
 
你会考虑为什么要多保存过去的内容30分钟?当然,如果你使用了健康检查,你可以通过健康状态设置保存的时间:
if (! req.backend.healthy) {
   set req.grace = 5m;
} else {
   set req.grace = 15s;
}
         Saint mode
                   有时候,服务器很古怪,他们发出随机错误,您需要通知varnish使用更加优雅的方式处理它,这种方式叫神圣模式(saint mode)。Saint mode允许您抛弃一个后端服务器或者另一个尝试的后端服务器或者cache中服务陈旧的内容。让我们看看VCL中如何开启这个功能的:
sub vcl_fetch {
 if (beresp.status == 500) {
    set beresp.saintmode = 10s;
    restart;
 }
 set beresp.grace = 5m;
}
                   当我们beresp.saintmode 10秒,这个url的请求varnish将在10秒内不访问服务器。一个黑名单,或多或少。一个restart就会执行,如果您有其他的后端有能力提供这些服务器内容,varnish会尝试他们。当您没有可用的后端服务器,varnish将使用它过期的cache提供服务内容。
                   它真的是一个救生员。
God mode
                   还未应用。




本文转自 fenghao.cn 51CTO博客,原文链接:http://blog.51cto.com/linuxguest/360526,如需转载请自行联系原作者
目录
相关文章
|
前端开发
如何利用dnslog探测目标主机杀软
如何利用dnslog探测目标主机杀软
441 0
|
NoSQL Redis
Redis安装布隆(Bloom Filter)过滤器
Redis安装布隆(Bloom Filter)过滤器
858 0
Redis安装布隆(Bloom Filter)过滤器
|
9月前
|
数据采集 数据可视化 机器人
FastGPT 社区版快速部署指南
FastGPT 是一款基于大语言模型的智能知识库系统,具备开箱即用、可视化编排和多场景适配(客服机器人、知识检索等)的核心能力。通过阿里云计算巢,用户可在 2-3 分钟内完成快速部署,实现复杂问答逻辑设计与高效数据处理。
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数
|
SQL 存储 关系型数据库
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
869 0
|
Go 开发者
为什么在 Golang 中使用 Goto 语句?
【8月更文挑战第31天】
425 0
|
Web App开发 Java 测试技术
秒懂HTTPS接口(JMeter压测篇)
【5月更文挑战第11天】秒懂HTTPS接口(JMeter压测篇)
3503 2
秒懂HTTPS接口(JMeter压测篇)
|
存储 负载均衡 算法
1. Etcd 介绍
1. Etcd 介绍
|
运维 Ubuntu Shell
阿里云云效操作报错合集之流水线构建Docker镜像时,遇到报错:“error: failed to solve: rpc error: code”,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
网络协议 算法
gRPC源码分析(一):gRPC的系统调用过程
- 分析PB生成的对应文件 - 运行server - 运行client
333 0