当前位置: 首页 > news >正文

网站开发实施方案河北品牌网站建设

网站开发实施方案,河北品牌网站建设,网页设计工作室网站,网站建站建设多少钱HAproxy 七层负载均衡 负载均衡技术 负载均衡#xff08;Load Balance#xff09;#xff1a;一种服务#xff0c;或基于硬件设备实现的高可用的反向代理技术#xff0c;是指将特定的业务流量分摊给一个或多个后端的特定服务器或设备#xff0c;实现高并发处理业务流量…HAproxy 七层负载均衡 负载均衡技术 负载均衡Load Balance一种服务或基于硬件设备实现的高可用的反向代理技术是指将特定的业务流量分摊给一个或多个后端的特定服务器或设备实现高并发处理业务流量从而保证了业务的高可用性方便业务后期的水平动态拓展。 优点 1、Web服务器的动态水平扩展对用户无感知 2、增加业务并发访问及处理能力解决单服务器瓶颈问题 3、节约公网IP地址降低T支出成本 4、隐藏内部服务器P提高内部服务器安全性 5、配置简单固定格式的配置文件 6、功能丰富支持四层和七层支持动态下线主机 7、性能较强并发数万甚至数十万 四层负载均衡 1、通过识别和改变 IP 地址或端口决定负载均衡的去向 2、对业务流量请求进行 NAT 处理转发至后台服务器 3、记录 TCP 和 UDP 流量分别是由哪台服务器处理后续该请求连接的流量都通过该服务器处理 4、支持四层负载均衡的软件 LVS重量级四层负载均衡器无后端检测功能 Nginx轻量级四层负载均衡器可缓存。(nginx四层是通过upstream模块) Haproxy模拟四层转发。 七层负载均衡 1、通过虚拟 URL 或主机 IP 进行流量识别根据应用层信息进行解析决定是否需要进行负载均衡 2、代理后台服务器与客户端建立连接如 NGINX 可代理前后端与前端客户端进行 TCP 连接与后端服务器建立 TCP 连接 3、支持7层代理的软件 Nginx基于 http 协议(nginx七层是通过proxy_pass) Haproxy七层代理会话保持、标记、路径转移 四层和七层的区别 所谓的四到七层负载均衡就是在对后台的服务器进行负载均衡时依据四层的信息或七层的信息来决定怎么样转发流量 四层的负载均衡就是通过发布三层的 IP 地址VIP加四层的端口号来决定哪些流量需要做负载均衡对需要处理的流量进行 NAT 处理转发至后台服务器并记录下这个TCP或者UDP的流量是由哪台服务器处理的后续这个连接的所有流量都会转发至同一台服务器处理 七层的负载均衡就是在四层的基础上没有四层是绝对不可能有七层的再考虑应用层的特征比如同一个 Web 服务器的负载均衡除了根据 VIP 加 80 端口辨别是否需要处理的流量还可以根据七层的 URL、浏览器类别、语言来决定是否要进行负载均衡 1、分层位置四层负载均衡在传输层及以下七层负载均衡在应用层及以下 2、性能四层负载均衡架构无需解析报文消息内容在网络吞吐量与处理能力上较高七层可支持解析应用层报文消息内容识别URL、Cookie、HTTP header 等信息 3、原理四层负载均衡是基于 IP 和端口来实现的七层是基于虚拟的 URL 或主机IP等 4、功能类比四层负载均衡类似于路由器七层类似于代理服务器 5、安全性四层负载均衡无法识别 DDOS 攻击七层可防御 SYN Cookie / Flood 攻击 HAproxy 概念 HAproxy 是一款开源、高性能的负载均衡器和代理服务器专为 TCP 和 HTTP 应用而设计。它可以将客户端的请求分发到多台后端服务器从而提高应用的可用性和性能。HAProxy支持多种负载均衡算法和健康检查机制是构建高可用性系统的理想选择。 HAproxy 的优势 高性能HAProxy采用事件驱动模型能够处理大量并发连接 灵活性强支持多种负载均衡算法和调度策略适应不同的应用场景 高可用性通过健康检查和故障转移机制确保服务的连续性 丰富的功能支持SSL终止、HTTP重写、压缩等多种功能。 HAproxy 基本配置 1、软件包下载 [roothaproxy ~]# yum install haproxy.x86_64 -y2、启动服务 [roothaproxy ~]# systemctl enable --now haproxy3、配置文件 [roothaproxy ~]# vim /etc/haproxy/haproxy.cfgHAProxy的配置文件haproxy.cfg由两大部分组成分别是 global全局配置段 1.进程及安全配置相关的参数 2.性能调整相关参数 3.Debug参数 option abortonclose当服务器负载很高时自动结束掉当前队列处理比较久的连接针对业务情况选择开启 option redispatch当server ID对应的服务器挂掉后强制定向到其他健康的服务器重新派发 option http-keep-alive开启与客户端的会话保持option forwardfor透传客户端真实IP至后端web服务器在apachei配置文件中加入%X-Forwarded-For}i后在webserert中看日志即可看到地址透传信息) mode http|tcp设置默认工作类型使用TCP服务器性能更好减少压力 timeout http-keep-alive 120ssession会话保持超时时间此时间段内会转发到相同的后端服务器 timeout connect 120s客户端请求从haproxy到后端serveri最长连接等待时间(TCP连接之前)默认单位ms timeout server 600s客户端请求从haproxy到后端服务端的请求处理超时时长(TCP连接之后)默认单位ms,如果超时会出现502错误此值建议设置较大些访止502错误 timeout client 600s设置naproxy与客户端的最长非活动时间默认单位ms,建议和timeout server相同 timeout check 5s对后端服务器的默认检测超时时间 default-server inter 1000 weight 3指定后端服务器的默认设置proxies代理配置段 defaults为frontend,backend,listen提供默认配 frontend前端相当于nginx中的server{} backend后端相当于nginx中的upstream{} listen同时拥有前端和后端配置配置简单生产推荐使用 4、日志管理 [roothaproxy ~]# vim /etc/rsyslog.conf [roothaproxy ~]# systemctl restart rsyslog.service5、多进程和线程 [roothaproxy errorpage]# pstree -p |grep haproxy ----查看进程6、在listen字段中server的配置 check对指定real进行健康状态检查如果不加此设置默认不开启检查check后面没有其它配置也可以启用检查功能----只针对一个server设置默认对相应的后端服务器工P和端口利用TCP连接进行周期性健康性检查注意必须指定端口才能实现健康性检查 addr IP可指定的健康状态监测工P,可以是专门的数据网段减少业务网络的流量 port num指定的健康状态监测端口 inter num健康状态检查间隔时间默认2000ms fall num后端服务器从线上转为线下的检查的连续失效次数默认为3 rise num后端服务器从下线恢复上线的检查的连续有效次数默认为2 weight weight默认为1最大值为256,0状态为蓝色表示不参与负载均衡但仍接受持久连接 backup将后端服务器标记为备份状态只在所有非备份主机down机时提供服务 disabled将后端服务器标记为不可用状态即维护状态除了持久模式将不再接受连接状态 为深黄色不再接受新用户的请求 redirect prefix http://www.baidu.com/ 将请求临时(302)重定向至其它URL,只适用于http模式 redir http://www.baidu.com 将请求临时(302)重定向至其它URL,只适用于 http模式 maxconn maxconn当前后端server的最大并发连接数7、socat工具 对服务器动态权重和其它状态可以利用socat工具进行调整Socat是Linux下的一个多功能的网络工具名字来由是Socket CAT,相当于netCAT的增强版Socat的主要特点就是在两个数据流之间建立双向通道且支持众多协议和链接方式。如IP、TCP、UDP、IPv6、Socket文件等 $1 监听的名称$2 server名称$3 套接字文件名HAproxy 的算法 1、HAProxy通过固定参数balance指明对后端服务器的调度算法 2、balance参数可以配置在listen或backend选项中 3、HAProxy的调度算法分为静态和动态调度算法 4、有些算法可以根据参数在静态和动态算法中相互转换。 静态算法 按照事先定义好的规则轮询公平调度不关心后端服务器的当前负载、连接数和响应速度等且无法实时修改权重只能为0和1不支持其它值只能靠重启HAProxy生效。 static-rr 基于权重的轮询调度 缺点不支持动态的调整权重socat工具不支持服务器的慢启动服务器刚启动时只接受一部分数据没有故障发生后接收全部数据 优点后端主机无数量限制 效果演示 无法动态修改权重 first 基于服务器所在理论位置自上而下的调度 缺点忽略服务器权重的设置不支持动态修改权重socat工具 优点当第一台服务器连接数达上限时才会分配链接给下一台服务器充分利用资源 动态算法 基于后端服务器状态进行调度适当调整新请求将优先调度至当前负载较低的服务器权重可以在naproxyi运行时动态调整无需重启。 roundrobin 基于权重的轮询动态调度 优点支持慢启动支持动态的权重调整默认算法使用广泛 缺点后端主机数量最大支持4095个 动态修改权重 leastconn 基于最少链接数调度 支持动态调整权重正常慢启动适合于长连接的场景MySQL等无视权重根据链接最少的后端服务器而调度 效果演示 可变算法 可通过不同的选项将静态算法变为动态算法 source 源地址hash,基于用户源地址hash并将请求转发到后端服务器后续同一个源地址请求将被转发至同一个后端web服务器。 此方式当后端服务器数据量发生变化时会导致很多用户的请求转发至新的后端服务器默认为静态方式但是可以通过hash-type支持的选项更改这个算法一般是在不插入cookie的TCP模式下使用也可给拒绝会话cookie的客户提供最好的会话粘性 适用于session会话保持但不支持cookie和缓存的场景源地址有两种转发客户端请求到后端服务器的服务器选取计算方式分别是取模法和一致性hash。 效果演示 source 取模法 map-based取模法对sourcef地址进行hash计算再基于服务器总权重的取模最终结果决定将此请求转发至对应的后端服务器。 此方法是静态的即不支持在线调整权重不支持慢启动可实现对后端服务器均衡调度 缺点是当服务器的总权重发生变化时即有服务器上线或下线都会因总权重发生变化而导致调度结果整体改变hash-type指定的默认值为此算法 比如当源hash值时1111,1112,1113三台服务器abc的权重均为1 即abc的调度标签分别会被设定为012(1111%31,1112%32,1113%30) 假设a为0,1113主机会被调度到a上 如果a下线后权重数量发生变化 1111%21,1112%20,1113%21 1112和1113被调度到的主机都发生变化这样会导致会话丢失source 一致性hash 一致性哈希当服务器的总权重发生变化时对调度结果影响是局部的不会引起大的变动hash(o) mod n 该hash算法是动态的支持使用socat等工具进行在线权重调整支持慢启动 hash环 1、后端服务器哈希环点keyAhash(后端服务器虚拟ip)%(2^32) ----0至2^32-1的所有数字落在一个环上 2、客户机哈希环点keylhash(c1ient_ip)%(2^32)得到的值在[0---4294967295]之间 3、将keyA和keyl都放在hash环上将用户请求调度到离keyl最近的keyA对应的后端服务器服务器在hash环的模拟位置 hash环偏斜 增加虚拟服务器IP数量比如一个后端服务器根据权重为1生成1000个虚拟IP,再hash而后端服务器权重为2则生成2000的虚拟IP,再bash最终在hash环上生成3000个节点从而解决hash环偏斜问题一致性hash 客户端会顺时针去寻找离自己最近的一台服务器当一台服务器宕机时连接在服务器上的链接会顺时针再去寻找一台最近的服务器保证了服务器已存在会话的连接不会断开。 服务器在线时状态 某台服务器离线时 source 一致性hash在HAphroxy配置 uri 基于对用户请求的UR的左半部分或整个uri做hash,再将hash结果对总权重进行取模后根据最终结果将请求转发到后端指定服务器适用于后端是缓存服务器场景 默认是静态算法也可以通过hash-type指定map-based和consistent来定义使用取模法还是一致性hash 该算法只支持 mode http七层不支持 mode tcp四层 scheme://user:passwordhost:port/path;params?query#frag 左半部分/path;params 整个uri:/path;params?query.#fraguri 取模法 uri 一致性hash 演示效果 url_param url_param对用户请求的url中的params部分中的一个参数key对应的value值作hash计算并由服务器总权重相除以后派发至某挑出的服务器后端搜索同一个数据会被调度到同一个服务器多用与电商 通常用于追踪用户以确保来自同一个用户的请求始终发往同一个real server 如果无没key,将按roundrobin算法 url http://www.tym.com/foo/bar/index.html?keyvaluehost www.timinglee.com url_param keyvalue或namenameurl_param 取模法 演示效果 url_param 一致性hash 演示效果 hdr 针对用户每个http头部header请求中的指定信息做hash 此处由name指定的http首部将会被取出并做hash计算然后由服务器总权重取模以后派发至某挑出的服务器如果无有效值则会使用默认的轮询调度roundrobin hdr 取模法 hdr 一致性hash 演示效果 HAproxy 高级功能 cookie 保持会话长连接 通过设定 cookie 值在不同的浏览器之间临时绑定一个会话客户端通过第一次访问浏览器时浏览器会缓存一个客户端对应的 cookie 值当客户端再次访问时会将客户端的 cookie 值与浏览器缓存的 cookie 值进行对比找到上一次访问的浏览器进行连接会话。cookie 的缓存时间由浏览器决定也可手动将缓存清除当缓存 基本配置 listen webclusterbind *:80mode httpbalance roundrobincookie tymcookie名称 insert插入新cookie值默认不插入 nocache如果客户端以有cookie值则不再发送cookie信息 indirect不允许中间缓存器缓存cookieserver web1 192.168.0.10:80 cookie tym1 check inter 2 fall 3 rise 5 weight 2server web2 192.168.0.20:80 cookie tym2 check inter 2 fall 3 rise 5 weight 1 效果演示 HAproxy 状态页 修改 HAproxy 配置文件 stats enable ----基于默认的参数启用stats page stats hide-version ----将状态页中haproxy版本隐藏 stats refresh delay ----设定自动刷新时间间隔默认不自动刷新 stats uri prefix ----自定义stats page uri,默认值/haproxy?stats stats auth user:passwd ----认证时的账号和密码可定义多个用户每行指定一个用户默认no authentication stats admin{if|unless}cond ----启用stats page中的管理功能效果演示 IP 透传 四层 IP 透传 修改 HAproxy 配置文件 修改 NGINX 配置文件 效果演示 七层 IP 透传 修改 HAproxy 配置文件 修改 apache 配置文件 修改 nginx 配置文件 效果演示 apache 日志 nginx 日志 ACL 访问控制列表ACLAccess Control Lists 是一种基于包过滤的访问控制技术它可以根据设定的条件对经过服务器传输的数据包进行过滤条件匹配即对接收到的报文进行匹配和过滤基于请求报文头部中的源地址、源端口、目标地址、目标端口、请求方法、UL、文件后缀等信息对内容进行匹配并执行进一步操作比如允许其通过或丢弃。 ACL 配置选项 acl aclname(名称) criterion(匹配规范) [flags](匹配模式) [operator](具体操作符) [value](操作对象类型)ACL 命名规则 acl image_service hdr_dom(host) -i img.magedu.comACL名称可以使用大字母(A-Z)、小写字母(a-z)、数字(0-9)、冒号(:)、点(.)、中横线(-)和下划线(_)并且严格区分大小写比如my_acl和My_Acl就是两个完全不同的aclACL 匹配 域名解析地址 匹配条件输入www.ty.org则访问server1其他访问至server2 演示效果 以什么结尾为匹配规则 效果演示 域名内的某一段匹配 效果演示 正则匹配 效果演示 条件的匹配 错误页提示 errorfile 指定错误页路径和内容 效果演示 errorloc 重定向 IP 地址 当网页访问错误时自动跳转至指定的地址 HAproxy 四层负载-数据库 数据库监听字段 效果演示 HAproxy https加密认证 创建认证秘钥文件 [roothaproxy ~]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/haproxy/ssl/tym.org.key -x509 -days 365 -out /etc/haproxy/ssl/tym.org.crt全站加密 效果展示
http://www.hkea.cn/news/14544764/

相关文章:

  • 深圳企业高端网站建设西安好玩的地方有哪些
  • 旅游网站首页设计大概图谷歌浏览器免费入口
  • 网站建设策划书封面企业安全文化建设程序
  • 阳江网站建设推广枣庄网站设计
  • 江苏工程建设信息网站怎么选择镇江网站建设
  • 网站改版对用户的影响资源网站优化排名
  • 网站关键词描述做微站比较好的网站
  • 网站名称 备案移动开发平台
  • 北京网站建设设计公司哪家好做外贸哪些网站比较好
  • 南宁网站建设升上去仿静态网站
  • 网站外链发布平台建设网站有哪几种方式
  • 昆凌做的广告买化妆品网站wordpress分页404
  • 巴彦淖尔市 网站建设邵阳建网站
  • 东莞网站seo公司哪家大西安优秀的集团门户网站建设企业
  • 无锡网页建站专业网站建设集团
  • 网站后台开发步骤白云区同和网站建设
  • 怀柔建设网站公司python 做网站很快吗
  • 商务网站主页设计公司北京网站制作合肥
  • 好一点的网站做网站的资金来源
  • 陆良县住房和城乡建设局网站最新农村房屋设计图片
  • 建设手机网站安卓app定制开发
  • 泉州专门做网站常州网站排名提升
  • 南宁网站建设哪家公司实力多城市网站如何做seo
  • 高明网站建设公司外文网站做t检验分析
  • 网站建设制作做网站优化推广公司站长收录查询
  • 南宁网站建设哪家公司实力强那些因素会影响网站的排名位置
  • php做网站首页修改网站建设公司广告
  • 天津机械网站建设模板天津手工活外发加工网
  • 陕西省建设监理协会网站证书给我做网站的人老是给我留点尾巴
  • 重庆网站建设制作设计公司哪家好网站打不开被拦截怎么办