●advanced backend configuration(后端服务器高级配置)

简介:
   advanced backend configuration(后端服务器高级配置)

         在某些时刻您需要varnish从多台服务器上缓存数据。您可能想要varnish映射所有的URL到一个单独的主机或者不到这个主机。这里很多选项。
         我们需要引进一个java程序进出phpweb站点。假如我们的java程序使用的URL开始于/JAVA/
         我们让它运行在8000端口,现在让我们看看默认的default.vcl
backend default {

    .host = "127.0.0.1";

    .port = "8080";

}

我们添加一个新的backend
backend java {

    .host = "127.0.0.1";

    .port = "8000";

}

现在我们需要告诉特殊的URL被发送到哪里:
sub vcl_recv {

    if (req.url ~ "^/java/") {

        set req.backend = java;

    } else {

        set req.backend = default.

    }

}

                   这真的很简单,让我们停下来并思考一下。正如您所见,可以通过任意的后端来选择您要的数据。您想发送移动设备的请求到不同的后端?没问题
                   if (req.User-agent ~ /mobile/) ....     \\这样做应该就可以成功。
         Directors

您可以把多台backends聚合成一个组,这些组被叫做directors。这样可以增强性能和弹力。您可以定义多个backends和多个group在同一个directors
backend server1 {

    .host = "192.168.0.10";

}

backend server2{

    .host = "192.168.0.10";

}

现在我们创建一个director
director example_director round-robin {

{

        .backend = server1;

}

# server2

{

        .backend = server2;

}

# foo

}

这个director是一个循环的director。它的含义就是director使用循环的方式把backends分给请求。
                   但是如果您的一个服务器宕了?varnish能否指导所有的请求到健康的后端?当然可以,这就是健康检查在起作用了。
         Health checks

                   让我们设置一个director和两个后端,然后加上健康检查:
backend server1 {

  .host = "server1.example.com";

  .probe = {

         .url = "/";

         .interval = 5s;

         .timeout = 1 s;

         .window = 5;

         .threshold = 3;

    }

  }

backend server2 {

   .host = "server2.example.com";

   .probe = {

         .url = "/";

         .interval = 5s;

         .timeout = 1 s;

         .window = 5;

         .threshold = 3;

   }

 }

这些新的就是探针,varnish将检查通过探针检查每个后端服务器是否健康:
url              \\哪个url需要varnish请求。
Interval             \\检查的间隔时间
Timeout            \\等待多长时间探针超时
Window             \\varnish将维持5sliding window的结果
Threshold         \\至少有3.windows检查是成功的,就宣告backends健康
现在我们定义director
director example_director round-robin {

      {

              .backend = server1;

      }

      # server2

      {

              .backend = server2;

      }

 

      }

您的站点在您需要的时候使用这个directorvarnish不会发送流量给标志为不健康的主机。如果所有的backends都宕掉了,varnish可以照常服务。参照“Misbehaving servers”获得更多的信息。




本文转自 fenghao.cn 51CTO博客,原文链接:http://blog.51cto.com/linuxguest/360522,如需转载请自行联系原作者
目录
相关文章
|
7天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
18 1
|
25天前
|
弹性计算 运维 监控
slb后端服务器组(Backend Server Group)关联
阿里云SLB的后端服务器组提供逻辑分组、精细化路由、端口隔离、权重分配与会话保持等功能,便于资源管理、流量控制和故障隔离。通过监听规则、健康检查、标签和API关联,实现灵活的后端资源配置,适应多变的业务需求,确保服务稳定性和资源利用率。
15 1
|
22天前
|
弹性计算
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
2024年阿里云服务器的优惠价格新鲜出炉,有特惠云服务器也有普通优惠价格,本文为大家整理汇总了2024年阿里云服务器的优惠价格,包含特惠云服务器和其他配置云服务器的优惠价格。以便大家了解自己想购买的云服务器选择不同实例规格和带宽情况下的价格,仅供参考。
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
|
4天前
|
存储 弹性计算 安全
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
2核2G、2核4G配置是很多个人和企业建站以及部署中小型的web应用等场景时首选的云服务器配置,这些配置的租用价格也是用户非常关心的问题,本文为大家整理汇总了2024年阿里云服务器2核2G、2核4G配置不同实例规格及地域之间的收费标准,同时整理了这些配置最新活动价格,以供大家参考和选择。
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
10天前
|
数据采集
robots.txt配置 减小服务器压力
robots.txt配置 减小服务器压力
13 0
|
20天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
22天前
|
弹性计算 网络安全 虚拟化
ECS数据问题之升级配置预防数据丢失如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
23天前
|
弹性计算 Kubernetes 安全
ECS选型推荐配置
在构建Kubernetes集群时,应避免使用过多小规格ECS,因它们可能带来网络限制、容量不足和资源碎片化问题。采用大规格ECS能提升网络性能,优化镜像拉取效率。选择Master节点时,要考虑集群规模,生产环境建议选择较高规格。Worker节点推荐使用CPU≥4核、内存≥8GiB的ECS,根据集群总核数和容错率来决定节点数量。当规模达1000核,可选用裸金属神龙服务器,它提供超强网络、零计算抖动和安全性能,适合大促等需快速扩展的场景。
25 1
|
27天前
|
弹性计算 固态存储 调度
2024年阿里云服务器配置选择指南,新手整理
阿里云服务器配置选择指南:个人用户推荐轻量应用服务器或ECS通用算力型u1,适合小型网站和轻量应用。企业用户应选择企业级独享型如ECS计算型c7、通用型g7,保证高性能计算需求。配置选择要考虑CPU内存比例、公网带宽和系统盘。轻量服务器提供2核2G3M和2核4G4M选项,ECS实例则有多种规格以适应不同业务场景。公网带宽建议至少5M,系统盘可选高效云盘、SSD或ESSD。详细信息见[阿里云服务器产品页](https://www.aliyun.com/product/ecs)。
64 3

热门文章

最新文章