全网最详细HAProxy入门小知识

目录

一. 负载均衡

负载均衡的意义:

负载均衡的类型:

二. HAProxy 简介

HAProxy 的特点:

社区版和企业版:

三. HAProxy 的安装和服务信息

1、实验环境

1)安装并配置 Nginx

2)在客户端测试

2、安装:

3、haproxy的基本配置信息

global 配置: 解释 global 配置段中常用的参数

全局配置

 proxies 配置: 解释 defaults、frontend、backend 和 listen 配置段中常用的参数

配置 HAProxy

 

测试

 若在webserver1中停止 Nginx 服务

四. HAProxy 的算法

静态算法: 按照事先定义好的规则进行调度,例如:

  static-rr: 基于权重的轮询调度,不支持动态调整权重。

 first: 根据服务器在列表中的位置,自上而下进行调度,忽略权重设置。 

测试:

动态算法: 基于后端服务器状态进行调度,例如:

        roundrobin: 基于权重的轮询动态调度算法,支持动态调整权重和慢启动。

动态调整权重 

        leastconn: 加权的最少连接的动态调度算法,根据当前连接最少的后端服务器进行优先调度,适合长连接场景。

其他算法:

        source: 基于源地址 hash,可以将请求转发到同一台后端服务器,支持取模法和一致性 hash。

测试:

        uri: 基于 URI hash,可以将请求转发到缓存服务器或 CDN 服务提供商。

uri 取模法配置示例

uri 一致性hash配置示例

 访问测试

        url_param: 基于 URL 参数 hash,可以追踪用户行为,确保来自同一个用户的请求始终发往同一个后端服务器。

一致性hash配置示例

测试访问:

        hdr: 基于 HTTP 头部 hash,可以基于客户端浏览器类型进行调度。

一致性hash配置示例:

测试访问:

五. 高级功能及配置

1、基于 cookie 的会话保持:

配置示例:

验证cookie信息:

2、HAProxy 状态页:

启用状态页

3、IP 透传:

四层IP透传

4、ACL:

ACL示例-域名匹配

测试结果:

5、自定义 HAProxy 错误界面:

基于自定义的错误页面文件

6、HAProxy 四层负载:

对 MySQL 服务实现四层负载

   在后端服务器安装和配置mariadb服务

启动mariadb服务,并在MySQL数据库中创建一个新用户,并授予该用户对所有数据库和表的完全访问权限,用户名是cfy,密码是1

测试

7、HAProxy https 实现:

https配置示例

六、建议


一. 负载均衡


负载均衡的意义:


高可用性: 当一台服务器出现故障时,负载均衡器可以将流量自动切换到其他健康的服务器,保证业务的持续运行。
并发处理能力: 将流量分散到多台服务器,提高整体并发处理能力,避免单点性能瓶颈。
水平扩展: 可以方便地添加或删除服务器,实现业务的水平扩展。
成本节约: 多台服务器可以共用一个公网 IP 地址,降低 IT 成本。
安全性: 隐藏内部服务器 IP 地址,提高安全性。


负载均衡的类型:


硬件负载均衡器: 例如 F5、Netscaler、Array 等,性能强大,功能丰富,但价格昂贵。
软件负载均衡器
        四层负载均衡器: 例如 LVS、Nginx(upstream 模块)、HAProxy(模拟四层转发),基于         IP+Port 进行调度,性能较高。
        七层负载均衡器: 例如 Nginx(proxy_pass)、HAProxy,基于应用层信息进行调度,功能能        更丰富,但性能略低于四层。


二. HAProxy 简介


HAProxy 的特点:


高并发: 可以处理数万甚至数十万的并发连接。
高性能: 基于 C 语言开发,性能优越。
功能丰富: 支持七层代理、会话保持、标记、路径转移等功能。
易于配置: 使用固定格式的配置文件,配置简单。


社区版和企业版

  社区版功能丰富,满足大部分需求;

  企业版提供更高级的功能,例如 24x7 支持服务、实时仪表盘、高级安全特性等。


三. HAProxy 的安装和服务信息

1、实验环境

主机名IP角色
cfy.LAPTOP-N69PF4KV]192.168.2.158客户端
haproxyeth0:172.25.254.100haproxy
webserver1eth0:192.168.0.10真实服务器(RS)
webserver2eth0:192.168.0.20真实服务器(RS)

1)安装并配置 Nginx

[root@webserver1 ~]#  dnf install nginx -y
[root@webserver1 ~]# echo webserver1 - 172.25.254.10 > /usr/share/nginx/html/index.html
[root@webserver1 ~]# systemctl enable --now nginx

 

2)在客户端测试


2、安装

提供软件包下载地址和安装命令。

[root@haproxy ~]# dnf install haproxy -y


 

3、haproxy的基本配置信息


1)global 配置: 解释 global 配置段中常用的参数


        nbproc: 开启的 HAProxy worker 进程数。
        nbthread: 每个进程开启的线程数。
        maxconn: 每个进程的最大并发连接数。
        maxsslconn: 每个进程 SSL 最大连接数。
        spread-checks: 后端服务器状态检查随机提前或延迟百分比时间。
        pidfile: 指定 pid 文件路径。
        log: 定义全局的 syslog 服务器。

全局配置
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
globallog         127.0.0.1 local2chroot      /var/lib/haproxypidfile     /var/run/haproxy.pidmaxconn     100000user        haproxygroup       haproxydaemon# turn on stats unix socketstats socket /var/lib/haproxy/stats# utilize system-wide crypto-policiesssl-default-bind-ciphers PROFILE=SYSTEMssl-default-server-ciphers PROFILE=SYSTEM#nbproc 2     #启用多进程#cpu-map 1 0  #第一个线程用第一个核心#cpu-map 2 1  #第二个线程用第二个核心nbthread 2    #启用多线程[root@haproxy ~]# systemctl restart haproxy.service


 2)proxies 配置: 解释 defaults、frontend、backend 和 listen 配置段中常用的参数


        mode: 指定 HAProxy 实例使用的连接协议,例如 http、tcp。
        option: 配置选项,例如 httplog、dontlognull、http-server-close、forwardfor 等。
        retries: 连接后端服务器失败次数。
        timeout: 设置各种超时时间,例如 http-request、queue、connect、client、server、http-        keep-alive、check 等。
        maxconn: 当前后端 server 的最大并发连接数。
        server: 定义后端 real server,必须指定 IP 和端口,可以设置权重、检查间隔、连续失效次数、连续有效次数等。

配置 HAProxy
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
分开写
frontend webclusterbind *:80mode httpuse_backend webcluster-hostbackend webcluster-hostbalance roundrobinserver web1 172.25.254.10:80server web2 172.25.254.20:80合并写
listen webclusterbind *:80mode httpbalance roundrobinserver web1 172.25.254.10:80server web2 172.25.254.20:80[root@haproxy ~]# systemctl enable haproxy

配置 HAProxy 作为负载均衡器,将接收到的 HTTP 请求均匀分配到两台后端服务器(172.25.254.10 和 172.25.254.20)

3)测试

 若在webserver1中停止 Nginx 服务
[root@webserver1 ~]# systemctl stop nginx.service

 


四. HAProxy 的算法


1、静态算法: 按照事先定义好的规则进行调度,例如:


  1)static-rr: 基于权重的轮询调度,不支持动态调整权重。

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80mode httpbalance static-rrserver webserver1 172.25.254.10:80 weight 2 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 weight 1 check inter 3s fall 3 rise 5

 2)first: 根据服务器在列表中的位置,自上而下进行调度,忽略权重设置。 

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80mode httpbalance firstserver webserver1 172.25.254.10:80 maxconn 3 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 check inter 3s fall 3 rise 5

测试:

webserver2能被调度到


2、动态算法: 基于后端服务器状态进行调度,例如:


        1)roundrobin: 基于权重的轮询动态调度算法,支持动态调整权重和慢启动。

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80mode httpbalance roundrobinserver webserver1 172.25.254.10:80 weight 1 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 weight 1 check inter 3s fall 3 rise 5
动态调整权重 
[root@haproxy ~]# echo "set weight webserver_80/webserver1 2" | socat stdio
/var/lib/haproxy/haproxy.sock


        2)leastconn: 加权的最少连接的动态调度算法,根据当前连接最少的后端服务器进行优先调度,适合长连接场景。

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80mode httpbalance leastconnserver webserver1 172.25.254.10:80 weight 1 check inter 3s fall 3 rise 5server webserver2 172.25.25420:80 weight 1 check inter 3s fall 3 rise 5


3、其他算法


        1)source: 基于源地址 hash,可以将请求转发到同一台后端服务器,支持取模法和一致性 hash。

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen webserver_80
bind 172.25.254.100:80mode httpbalance sourceserver webserver1 172.25.254.10:80 weight 1 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 weight 1 check inter 3s fall 3 rise 5

测试:


        2)uri: 基于 URI hash,可以将请求转发到缓存服务器或 CDN 服务提供商。

uri 取模法配置示例
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg.
listen webserver_80bind 172.25.254.100:80mode httpbalance uriserver webserver1 172.25.254.10:80 weight 1 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 weight 1 check inter 3s fall 3 rise 5
    uri 一致性hash配置示例
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80mode httpbalance urihash-type consistentserver webserver1 172.25.254.10:80 weight 1 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 weight 1 check inter 3s fall 3 rise 5
 访问测试

访问不同的uri,确认可以将用户同样的请求转发至相同的服务器

[root@webserver1 ~]# echo 172.25.254.10 - index1.html > /usr/share/nginx/html/index1.html
[root@webserver1 ~]# echo 172.25.254.10 - index2.html > /usr/share/nginx/html/index2.html
[root@webserver1 ~]# echo 172.25.254.10 - index3.html > /usr/share/nginx/html/index3.html[root@webserver2 ~]# echo 172.25.254.20 - index1.html > /usr/share/nginx/html/index1.html
[root@webserver2 ~]# echo 172.25.254.20 - index2.html > /usr/share/nginx/html/index2.html
[root@webserver2 ~]# echo 172.25.254.20 - index3.html > /usr/share/nginx/html/index3.html


       3)url_param: 基于 URL 参数 hash,可以追踪用户行为,确保来自同一个用户的请求始终发往同一个后端服务器。

一致性hash配置示例
[root@haproxy ~]#  vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80mode httpbalance url_param name,userid  #支持对多个url_param hashhash-type consistentserver webserver1 172.25.254.10:80 weight 1 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 weight 1 check inter 3s fall 3 rise 5

测试访问:


        4)hdr: 基于 HTTP 头部 hash,可以基于客户端浏览器类型进行调度。

一致性hash配置示例:
[root@haproxy ~]#  vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80mode httpbalance hdr(User-Agent)hash-type consistentserver webserver1 172.25.254.10:80 weight 1 check inter 3s fall 3 rise 5server webserver2 172.25.254.20:80 weight 1 check inter 3s fall 3 rise 5
测试访问:
[cfy.LAPTOP-N69PF4KV] ⮞  curl -v 172.25.254.100
[cfy.LAPTOP-N69PF4KV] ⮞  curl -vA "firefox" 172.25.254.100
[cfy.LAPTOP-N69PF4KV] ⮞  curl -vA "sougou" 172.25.254.100


五. 高级功能及配置

介绍HAProxy高级配置及实用案例


1、基于 cookie 的会话保持

通过 cookie 保持用户会话,提高用户体验。

配置示例:

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen webserver_80bind 172.25.254.100:80option forwardformode httpbalance roundrobincookie WEBCOOKIE insert nocache indirectserver webserver1 192.168.0.10:80 cookie web1 weight 1 check inter 3s fall 3 rise 5server webserver2 192.168.0.20:80 cookie web2 weight 1 check inter 3s fall 3 rise 5

验证cookie信息:

[cfy.LAPTOP-N69PF4KV] ⮞ curl -b WEBCOOKIE=web1 172.25.254.100
webserver1 - 172.25.254.10
[cfy.LAPTOP-N69PF4KV] ⮞ curl -b WEBCOOKIE=web2 172.25.254.100
webserver2 - 172.25.254.20


2、HAProxy 状态页

通过 web 界面查看 HAProxy 的运行状态,例如服务器状态、连接数、流量统计等。

启用状态页

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen stats:mode httpbind 0.0.0.0:8888stats enablelog globalstats uri /status     #自定义stats page uristats auth cfy:cfy    #认证,此行可以出现多次


3、IP 透传

四层IP透传

将客户端真实 IP 地址透传给后端服务器,用于访问统计和安全防护。

#nginx 配置:在访问日志中通过变量$proxy_protocol_addr 记录透传过来的客户端IP
[root@rs1 ~]# vim /etc/nginx/nginx.conf
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request"''"$proxy_protocol_addr"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';server {
listen 80 proxy_protocol; #启用此项,将无法直接访问此网站,只能通过四层代理
访问
listen [::]:80;
server_name _;
root /usr/share/nginx/html;}
}#修改haproxy
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfglisten webserver_80
bind 172.25.254.100:80
mode tcp
balance roundrobin
server webserver1 172.25.254.10:80 send-proxy weight 1 check inter 3s fall 3
rise 5


4、ACL

基于包过滤的访问控制技术,可以根据设定的条件对数据包进行过滤,例如基于源地址、源端口、目标地址、目标端口、请求方法、URL、文件后缀等信息。

ACL示例-域名匹配

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
frontend testaclbind :80mode http########### ACL settings #######################acl web_host hdr_dom(host) www.cfy.org########### host ###########################use_backend cfy_host if web_host########### default server ###################default_backend default_webserverbackend cfy_hostmode httpserver web1 172.25.254.10:80 check weight 1 inter 3s fall 3 rise 5server web2 172.25.254.20:80 check weight 1 inter 3s fall 3 rise 5backend default_webservermode httpserver web1 172.25.254.10:80 check weight 1 inter 3s fall 3 rise 5

测试结果:


5、自定义 HAProxy 错误界面

对指定的报错进行重定向,进行优雅的显示错误页面。

基于自定义的错误页面文件

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
defaultsmode httptimeout client 1mtimeout server 1mtimeout http-keep-alive 10stimeout check 10smaxconn 1000000errorfile 503 /haproxy/errorpages/503page.http[root@haproxy ~]# vim /haproxy/errorpages/503page.http


6、HAProxy 四层负载

针对除 HTTP 以外的 TCP 协议应用服务访问的应用场景,例如 MySQL、Redis、Memcache、RabbitMQ 等。

对 MySQL 服务实现四层负载

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
listen mysql_portbind :3306mode tcpbalance leastconnserver mysql1 172.25.254.10:3306 checkserver mysql2 172.25.254.20:3306 check
   在后端服务器安装和配置mariadb服务
[root@webserver1 ~]#  yum install mariadb-server -y
[root@webserver2 ~]#  yum install mariadb-server -y

[root@webserver1 ~]# vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
server-id=1[root@webserver2 ~]# vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
server-id=2

启动mariadb服务,并在MySQL数据库中创建一个新用户,并授予该用户对所有数据库和表的完全访问权限,用户名是cfy,密码是1
[root@webserver1 ~]# systemctl start mariadb
[root@webserver2 ~]# systemctl start mariadb[root@webserver1 ~]#  mysql -e "grant all on *.* to cfy@'%' identified by '1';"
[root@webserver2 ~]#  mysql -e "grant all on *.* to cfy@'%' identified by '1';"

测试
[cfy.LAPTOP-N69PF4KV] ⮞ mysql -ucfy -p1 -h 172.25.254.100 -e "show variables like 'hostname'"
[cfy.LAPTOP-N69PF4KV] ⮞ mysql -ucfy -p1 -h 172.25.254.100 -e  "select @@server_id"


7、HAProxy https 实现

配置 HAProxy 支持 https 协议,实现证书安全。

https配置示例

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
frontend webserverbind *:80redirect scheme https if !{ ssl_fc }mode httpuse_backend webcluster
frontend webserver-httpsbind *:443 ssl crt /etc/haproxy/cfy.org.pemmode httpuse_backend webcluster
backend webclustermode httpbalance roundrobinserver web1 172.25.254.10:80 check inter 3s fall 3 rise 5server web2 172.25.254.20:80 check inter 3s fall 3 rise 5

六、建议

在实际部署 HAProxy 时,需要根据具体的应用场景选择合适的配置和算法。
可以使用 socat 工具动态调整 HAProxy 的配置,例如服务器权重和状态。
可以使用 HAProxy 的状态页监控 HAProxy 的运行状态,及时发现并解决问题。
希望这份更详细的解读能够帮助您更好地理解 HAProxy,并将其应用于您的项目中。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用C语言构建Lua库

Lua 本身是用 C 语言编写的,因此使用 C 编写扩展可以更好地与 Lua 引擎集成,减少性能瓶颈,同时C 语言提供了对底层硬件和操作系统功能的直接访问能力,让 Lua 可以通过 C 扩展来实现对文件系统、网络等高级功能的支持。因为C 语言非…

大语言模型的模型量化(INT8/INT4)技术

目录 一、LLM.in8 的量化方案 1.1 模型量化的动机和原理1.2 LLM.int8 量化的精度和性能1.3 LLM.int8 量化的实践 二、SmoothQuant 量化方案 2.1 SmoothQuant 的基本原理2.2 SmoothQuant 的实践 三、GPTQ 量化训练方案 3.1 GPTQ 的基本原理3.2 GPTQ 的实践 参考资料 一、LLM.i…

SD-WAN企业组网:与传统组网有何不同?

很多企业已经尝试过使用SD-WAN来进行组网。SD-WAN代表着一种新兴的网络连接技术,与传统的网络架构相比,它在许多方面都有明显的不同。 SD-WAN基于软件定义网络(SDN)的概念,提供集中化的网络控制和智能优化,…

macos重装系统 启动U盘制作方法 - createinstallmedia 命令使用方法总结

macos重装系统比windows要稍微复杂一些,不过还好,macos系统安装app这个Apple官方提供的系统软件里面默认就内置了一个可用为我们制作启动盘的工具 createinstallmedia 我们下载的apple安装镜像要门是 dmg/pkg/iso 的压缩档案格式的,要么是 x…

电子行业数字工厂管理系统解决方案

电子行业数字工厂管理系统解决方案是针对电子企业特定需求而设计的一套综合管理系统,旨在通过数字化手段提升生产效率、优化资源配置、降低运营成本,并确保高品质产品的输出。以下是一个详细的电子行业数字工厂管理系统解决方案的概述: 一、系…

WebAssembly最详教程

WebAssembly 是一种新的编码方式,可以在现代的 Web 浏览器中运行——它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如 C/C、C# 和 Rust 等语言提供编译目标,以便它们可以在 Web 上运行…

面试 | Python 自动化测试技术面试真题

本文为面试某公司测试开发/自动化测试工程师时的面试题笔记。 全部笔试内容没有全部写全,只贴通用性的技术相关的笔试面试题,至于测试理论和团队管理的问题,都是大同小异,也没什么实际的参考价值。 1.直接手写一个 P…

AWS云服务器选择最佳区域

2024年,随着全球云计算的持续发展和AWS在全球不断扩展的数据中心网络,选择合适的AWS云服务器区域成为了企业和开发者需要认真考虑的问题。九河云告诉你在做出选择之前,需要考虑以哪些关键因素: 地理位置和用户分布 选择AWS云服务…

ZAN与Mysten Labs合作推进Web3基础设施开发

Mysten Labs是一家Web3基础设施公司,也是Sui区块链的开发公司,今天宣布与蚂蚁数字科技的技术品牌ZAN建立合作伙伴关系。 通过整合Sui,ZAN旨在加速其Web3应用程序的开发和采用。该合作将专注于为Mysten Labs在两个关键领域提供技术支持&#…

分班查询一键发布,老师们都在用

新学期的钟声即将敲响,校园里又将迎来一批充满好奇和期待的新生。对于老师们来说,这不仅仅是一个新起点,更是一项挑战——如何高效而准确地将新生的分班信息传达给每一位家长。传统的方法是通过私信逐一发送,这不仅耗时耗力&#…

opencv-python图像增强二:图像去雾(暗通道去雾)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、简介:二、暗通道去雾方案简述:三、算法实现步骤3.1最小值滤波3.2 引导滤波3.3 计算图像全局光强 四:整体代码实现五&#xf…

加密软件有哪些常见的安全特性

1. 数据加密 核心功能:加密软件的核心在于对数据进行加密处理,通过复杂的加密算法(如AES、RSA等)将明文数据转换为密文,确保数据在存储和传输过程中的安全性。 透明加密:部分加密软件支持透明加密功能&am…

代码+视频,R语言VRPM绘制多种模型的彩色列线图

列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者…

排队免单小程序

本文来自:排队免单小程序 - 源码1688 应用介绍 排队免单小程序是基于移动互联网技术开发的平台系统,通过小程序的形式为消费者和商家搭建了一个互动桥梁。以下是对排队免单小程序的详细介绍: 一、基本概念 排队免单小程序是一种创新的营销工…

拯救打工人的4款可ai生成ppt神器大PK,谁是加班狗的最爱?

在忙碌的工作日常里,做PPT常常让不少上班族头疼。晚上加班时,办公室里总能看到那些为了做出完美PPT而熬夜的人。不过现在好了,科技进步带来了好消息,有几款AI生成PPT的神器出现了,今天,咱们就来比一比&…

c++41两头堵模型

直接拷到自己的内存空间 字符串反转 递归:参数的入栈模型 函数的调用模型 先被调用的模型后执行 向局部变量拷贝内存 传两个参数 做函数结果

华为od统一考试B卷【AI面板识别】python实现

思路 n int(input())class Light:def __init__(self, id, x1, y1, x2, y2):self.id idself.x1 x1self.y1 y1self.x2 x2self.y2 y2self.height y2 - y1def get_lights_info(n):lights []for _ in range(n):id, x1, y1, x2, y2 map(int, input().strip().split())lights…

乡村振兴旅游休闲景观解决方案

乡村振兴旅游休闲景观解决方案摘要 2. 规划方案概览 规划核心:PPT展示了乡村振兴建设规划的核心区平面图及鸟瞰图,涵盖景观小品、设施农业、自行车道、新社区等设计元素。 规划策略:方案注重打造大开大合的空间感受,特色农产大观…

安全测试中的权限测试

安全测试中的权限测试(或称为访问控制测试)是一个关键的组成部分,它确保系统正确地实施了访问控制策略,防止未授权的用户或进程访问敏感信息和功能。 身份验证: 测试系统是否要求用户提供凭据(如用户名和密…

负载均衡、高可用

负载均衡 负载均衡(Load Balance):可以利用多个计算机和组合进行海量请求处理,从而获得很高的处理效率,也可以用多个计算机做备份(高可用),使得任何一个机器坏了整个系统还是能正常…