CLI举例:配置HTTP服务器的负载均衡

CLI举例:配置HTTP服务器的负载均衡

本举例介绍了如何配置HTTP服务器的负载均衡。

组网需求

如图1所示,企业有三台Web服务器Server1、Server2和Server3,且这三台服务器的硬件性能顺次降低,Server1性能是Server2的两倍、Server2性能是Server3的两倍。通过配置负载均衡,让这三台服务器联合对外提供HTTP服务,且三台服务器承载业务的多少与服务器硬件性能的高低匹配。通过配置健康检测实时监控这三台服务器是否可达。

图1 配置HTTP服务器的负载均衡组网图

配置思路
  1. 三台服务器的性能不同,要根据性能来负载均衡,所以负载均衡算法可以选择“加权最小连接算法”。Server1性能是Server2的两倍、Server2性能是Server3的两倍,所以三台服务器的权值比为4:2:1。
  2. 为了监控三台服务器是否可达,需要在FW上配置健康检查。本举例中健康检查的协议类型配置为ICMP,您也可以配置为HTTP。FW要发送健康检查报文,需要配置local到服务器所在安全区域(dmz)的安全策略。
  3. 客户端可能需要与服务器建立多条连接才能完成一项操作,为此需要在FW上配置会话保持,让同一个客户端的连接分配到同一台服务器上。服务器提供的是HTTP服务,所以会话保持方法可以配置成HTTP Cookie。

操作步骤
  1. 配置各个接口的IP地址,并将接口加入相应的安全区域。

    <FW> system-view
    [FW] interface GigabitEthernet 1/0/1
    [FW-GigabitEthernet1/0/1] ip address 1.1.1.1 24
    [FW-GigabitEthernet1/0/1] quit
    [FW] interface GigabitEthernet 1/0/2
    [FW-GigabitEthernet1/0/2] ip address 192.168.1.254 24
    [FW-GigabitEthernet1/0/2] quit
    [FW] firewall zone untrust
    [FW-zone-untrust] add interface GigabitEthernet 1/0/1
    [FW-zone-untrust] quit
    [FW] firewall zone dmz
    [FW-zone-dmz] add interface GigabitEthernet 1/0/2
    [FW-zone-dmz] quit

  2. 配置安全策略。

    # 配置untrust到dmz的安全策略,允许Internet用户访问内网的Web服务器。策略的目的地址应该配置虚拟服务器的IP地址。
    
    [FW] security-policy
    [FW-policy-security] rule name policy1
    [FW-policy-security-rule-policy1] source-zone untrust
    [FW-policy-security-rule-policy1] destination-zone dmz
    [FW-policy-security-rule-policy1] destination-address 1.1.1.10 24
    [FW-policy-security-rule-policy1] action permit
    [FW-policy-security-rule-policy1] quit
    [FW-policy-security] quit
    # 配置local到dmz的安全策略,允许FW向实服务器发送健康探测报文。
    
    [FW] security-policy
    [FW-policy-security] rule name policy2
    [FW-policy-security-rule-policy2] source-zone local
    [FW-policy-security-rule-policy2] destination-zone dmz
    [FW-policy-security-rule-policy2] destination-address range 192.168.1.1 192.168.1.3
    [FW-policy-security-rule-policy2] action permit
    [FW-policy-security-rule-policy2] quit
    [FW-policy-security] quit

  3. 配置服务器负载均衡功能和健康检查功能。

    # 开启服务器负载均衡功能。
    
    [FW] slb enable
    # 配置会话保持。
    
    [FW] slb
    [FW-slb] persistence 0 Session
    [FW-slb-persistence-1] type cookie-insert aging-time 600
    [FW-slb-persistence-1] quit
    # 配置负载均衡算法。
    
    [FW-slb] group 0 Rserver
    [FW-slb-group-0] metric weight-least-connection
    # 配置实服务器Server1、Server2、Server3,服务器的权重值依次为4、2、1。
    
    [FW-slb-group-0] rserver 0 rip 192.168.1.1 port 8080 weight 4 description server1
    [FW-slb-group-0] rserver 1 rip 192.168.1.2 port 8080 weight 2 description server2
    [FW-slb-group-0] rserver 2 rip 192.168.1.3 port 8080 weight 1 description server3
    # 配置健康检查功能。
    
    [FW-slb-group-0] health-check type icmp tx-interval 5 times 3
    [FW-slb-group-0] quit
    # 配置虚拟服务器的协议类型。
    
    [FW-slb] vserver 0 vs-http-1.1.1.10
    [FW-slb-vserver-0] protocol http
    # 配置虚拟服务器的IP地址和端口号。
    
    [FW-slb-vserver-0] vip 0 1.1.1.10
    [FW-slb-vserver-0] vport 80
    # 配置会话保持。
    
    [FW-slb-vserver-0] persistence Session
    # 关联虚拟服务器和实服务器组。
    
    [FW-slb-vserver-0] group Rserver
    [FW-slb-vserver-0] quit

结果验证
  1. 在FW上查看静态Server-map表,存在相应表项证明服务器负载均衡功能配置成功。
    
    [FW] display firewall server-map static
     Current Total Server-map : 1
     Type: SLB,  ANY -> 1.1.1.10:80[vs-http-1.1.1.10/0],  Zone:---,  protocol:tcp              
     Vpn: public -> public
    Client访问http://1.1.1.10可以连接到HTTP服务器。
    
    当服务器请求流量较大时,经过一段时间后,在FW上查看虚拟服务器和实服务器的运行情况,可见3个实服务器的总会话数、并发会话数比约为4:2:1。
    
    [FW] display slb vserver vs-http-1.1.1.10 verbose
    Virtual Server Information(Total 1)
    -------------------------------------------------------------------------------------------
      Virtual Server Name      : vs-http-1.1.1.10
      Virtual Server ID        : 0
      Virtual Server IP        : 1.1.1.10
      Protocol                 : http
      Virtual Server Port      : 80
      Http X-forward Enable    : Disable
      Virtual Server Max-conn  : -
      Persistence Name/ID(Type): Session/0(cookie-insert)
      Group Name               : vs-http-1.1.1.10
      Group ID                 : 0
      Virtual Server Statistics
       Current Connection       :215
       Total connection         :400
       Total Flow               :12478.0_B
    ---------------------------------------------
    [FW] display slb group Rserver verbose
    Group Information(Total 1)                                                      
    --------------------------------------------------------------------------------
    ----------------------------                                                    
      Group Name               : Rserver                                   
      Group ID                 : 0                                                  
      Metric                   : weight-least-connection                            
      Source-nat Type          : NA                                                 
      Health Check Type        : icmp                                               
      Real Server Number       : 3                                                  
        RserverID  IP Address       Weight  Max-connection  Status               Rat
    io  TotalSession  CurSession                                                    
        0          192.168.1.1      4       -               Admin-Active         57.
    85%            4112        126                                                  
        1          192.168.1.2      2       -               Admin-Active         28.
    11%            1998        63                                                    
        2          192.168.1.3      1       -               Admin-Active         14.
    04%            998         31                                                    
    --------------------------------------------------------------------------------
    ---------------------------- 

配置脚本
interface GigabitEthernet 1/0/1
 ip address 1.1.1.1 24
#
interface GigabitEthernet 1/0/2
 ip address 192.168.1.254 24
#
firewall zone untrust
 add interface GigabitEthernet 1/0/1
#
firewall zone dmz
 add interface GigabitEthernet 1/0/2
#
security-policy
 rule name policy1
  source-zone untrust
  destination-zone dmz
  destination-address 1.1.1.10 24
  action permit
 rule name policy2
  source-zone local
  destination-zone dmz
  destination-address range 192.168.1.1 192.168.1.3
  action permit
#
slb enable
#
slb
 group 0 Rserver
  metric weight-least-connection
  health-check type icmp tx-interval 5 times 3
  rserver 0 rip 192.168.1.1 port 8080 weight 4 description server1
  rserver 1 rip 192.168.1.2 port 8080 weight 2 description server2
  rserver 2 rip 192.168.1.3 port 8080 weight 1 description server3
 persistence 0 Session
  type cookie-insert aging-time 600
 vserver 0 vs-http-1.1.1.10
  vip 0 1.1.1.10
  protocol http
  persistence Session
  vport 80
  group Rserver

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/611905.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux(利用gdb进行调试)

gdb: gdb是GNU debugger的缩写&#xff0c;是编程调试工具。 gdb功能 1.启动程序&#xff0c;可以按照用户自定义的要求随心所欲的运行程序。 2.让被调试的程序在用户所指定的调试的断点处停住 (断点可以是条件表达式)。 3.当程序停住时&#xff0c;可以检查此时程序中所发…

【静态分析】软件分析课程实验A4-类层次结构分析与过程间常量传播

官网&#xff1a;作业 4&#xff1a;类层次结构分析与过程间常量传播 | Tai-e 参考&#xff1a;https://www.cnblogs.com/gonghr/p/17984124 ----------------------------------------------------------------------- 1 作业导览 为 Java 实现一个类层次结构分析&#xf…

推荐3个实用的github开源项目

目录&#xff1a; 1、AI生成高清短视频 2、媒体平台爬虫 3、文本转语音项目

日本OTC机械手维修需要注意哪些问题呢?

随着工业4.0时代的到来&#xff0c;机器人在制造业中的应用越来越广泛。OTC&#xff08;Over The Counter&#xff09;机器人作为工业机器人的一种&#xff0c;以其高效、精准、稳定的特点受到众多企业的青睐。然而&#xff0c;在实际使用过程中&#xff0c;可能会出现一些OTC机…

[Linux_IMX6ULL驱动开发]-GPIO子系统和Pinctrl子系统

目录 Pinctrl子系统的概念 GPIO子系统的概念 定义自己的GPIO节点 GPIO子系统的函数 引脚号的确定 基于GPIO子系统的驱动程序 驱动程序 设备树修改 之前我们进行驱动开发的时候&#xff0c;对于硬件的操作是依赖于ioremap对寄存器的物理地址进行映射&#xff0c;以此来达…

【vivado】debug相关时钟及其约束关系

一、前言 在xilinx fpga的degug过程中&#xff0c;经常出现由于时钟不对而导致的观测波形失败&#xff0c;要想能够解决这些问题需要了解其debug的组成环境以及之间的数据流。本文主要介绍debug过程中需要的时钟及各时钟之间的关系。 二、debug相关时钟 Vivado 硬件管理器使…

CTFHUB-技能树-Web题-RCE(远程代码执行)-文件包含

CTFHUB-技能树-Web题-RCE&#xff08;远程代码执行&#xff09; 文件包含 文章目录 CTFHUB-技能树-Web题-RCE&#xff08;远程代码执行&#xff09;文件包含解题方法1:![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/71f7355b3c124dfe8cdf1c95e6991553.png#pic_ce…

基于OpenCV对胸部CT图像的预处理

1 . 传作灵感 胸部CT中所包含的噪声比较多&#xff0c;基于OpenCV简单的做一些处理&#xff0c;降低后续模型训练的难度。 2. 图像的合成 在语义分割任务中有的时候需要将原图&#xff08;imput&#xff09;和标注数据&#xff08;groudtruth&#xff09;合成一幅图像&#x…

智能呼叫中心客服系统:企业客户服务的新引擎

在如今商业竞争激烈的大环境下&#xff0c;企业的客户服务需求已不仅仅局限于简单的沟通。随着科技的进步&#xff0c;客户对于高效、智能的交互体验有着更高的期待。为了满足这些需求&#xff0c;智能呼叫中心客服系统应运而生&#xff0c;成为企业提升客户服务质量、优化客户…

鸿蒙开发接口Ability框架:【@ohos.application.Want (Want)】

Want Want模块提供系统的基本通信组件的能力。 说明&#xff1a; 本模块首批接口从API version 8 开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import Want from ohos.application.Want; 开发前请熟悉鸿蒙开发指导文档&#xff1…

springboot增删改查

我的记录 RestController RequestMapping("/user") public class UserController {Autowiredprivate UserService userService;GetMapping("/list")public List<User> list(){return userService.list();}//新增PostMapping("/save")publi…

怎样用Python语言实现远程控制两路开关

怎样用Python语言实现远程控制两路开关呢&#xff1f; 本文描述了使用Python语言调用HTTP接口&#xff0c;实现控制两路开关&#xff0c;两路开关可控制两路照明、排风扇等电器。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称厂商1智能…

2024.4.29 Pandas day01 基础语法

pandas是python的一个数据库&#xff0c;在使用数据库的时候需要输入 import pandas as pd 引入&#xff0c; df pd.read.csv(文件路径“&#xff09;&#xff1a;这是利用pandas数据库读取CSV文件的方法&#xff0c;如果读取EXCEL文件或者其他文件&#xff0c;csv文件换成其他…

【强训笔记】day18

NO.1 思路&#xff1a;双指针模拟。to_string将数字转化为字符。 代码实现&#xff1a; class Solution { public:string compressString(string param) {int left0,right0,nparam.size();string ret;while(right<n){while(right1<n&&param[right]param[right…

jenkins持续集成框架

1 什么是jenkins Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;起源于Hudson&#xff08;Hudson是商用的&#xff09;&#xff0c;主要用于持续、自动的构建/测试软件项目、监控外部任务的运行&#xff08;这个比较抽象&#xff0c;暂且写上&#xff0…

React19学习-初体验

升级react19版本 安装 npm install reactbeta react-dombeta如果使用ts则需要在package.json中添加。等正式版发布直接可以使用types/react了 "overrides": {"types/react": "npm:types-reactbeta","types/react-dom": "npm:ty…

【Java基础】Maven继承

1. 前言 Maven 在设计时&#xff0c;借鉴了 Java 面向对象中的继承思想&#xff0c;提出了 POM 继承思想。 2. Maven继承 当一个项目包含多个模块时&#xff0c;可以在该项目中再创建一个父模块&#xff0c;并在其 POM 中声明依赖&#xff0c;其他模块的 POM 可通过继承父模…

【智能优化算法】矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)

矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)是期刊“COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING”&#xff08;IF 7.3&#xff09;的2022年智能优化算法 01.引言 矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)模仿矮猫鼬的觅食行…

【论文阅读笔记】MAS-SAM: Segment Any Marine Animal with Aggregated Features

1.论文介绍 MAS-SAM: Segment Any Marine Animal with Aggregated Features MAS-SAM&#xff1a;利用聚合特征分割任何海洋动物 Paper Code(空的) 2.摘要 最近&#xff0c;分割任何模型&#xff08;SAM&#xff09;在生成高质量的对象掩模和实现零拍摄图像分割方面表现出卓越…