热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

负载均衡集群三

目录补充知识架构演变实验步骤补充知识架构演变实验步骤1.先确保没有其他调度器的干扰2.在computer1上安装haproxy3.编辑etchaproxyhaproxy.cfg文


目录

    • 补充知识
    • 架构演变
    • 实验步骤


补充知识

在这里插入图片描述


架构演变

在这里插入图片描述
在这里插入图片描述


实验步骤

1.先确保没有其他调度器的干扰
在这里插入图片描述
2.在computer1上安装haproxy
在这里插入图片描述
3.编辑/etc/haproxy/haproxy.cfg文件
这里haproxy的mode工作模式是http,即工作在第七层(haproxy也可以工作在第四层)。
(1)先将这六行注释掉,只留一个app。另外,将端口改成80,这样后端的端口可以不为80。
在这里插入图片描述
这里computer3和computer4是仅开启了apache服务的web服务器。
在这里插入图片描述
4.启动haproxy
在这里插入图片描述
haproxy占用了端口80,因此我们不能同时开启httpd服务。
在这里插入图片描述
5.测试
这里使用computer2测试,发现不需要定义vip,computer1的ip地址就是vip。
在这里插入图片描述
haproxy拥有健康检查功能,每次都会检测至少三次。当停掉computer3的httpd服务时
在这里插入图片描述
访问失败
在这里插入图片描述
重新开启computer3上的httpd服务
在这里插入图片描述
重新测试,发现访问又恢复正常。
在这里插入图片描述
补充:还可以使用haproxy自带的监控功能
在这里插入图片描述
在这里插入图片描述
访问对应的路由即可
在这里插入图片描述
6.添加日志功能
编辑/etc/sysconfig/rsyslog文件,添加一个-r参数表示接受。
在这里插入图片描述
在这里插入图片描述
编辑/etc/rsyslog.conf文件
添加local2这一行表示将haproxy的日志存放在local2中
在这里插入图片描述
另外,我们让local2的日志不要存储在/var/log/messages中。
在这里插入图片描述
在这里插入图片描述
在computer2上访问一次computer1
在这里插入图片描述
发现出现了haproxy.log
在这里插入图片描述
7.激活认证功能
还可以激活5秒刷新功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入密码之后成功进入,会发现监控界面5秒刷新一次。
在这里插入图片描述
8.session保持
使用source算法,表示只要发起请求的源地址不变,调度也就不变。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
9.权重
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
10.backup
假设所有的RS挂掉了怎么办呢?这里可以使用本机作为backup,当所有RS挂掉后,会访问本机的资源。
在这里插入图片描述
这里将httpd服务端口改为8000(如果设置为80会和haproxy冲突)
在这里插入图片描述
在这里插入图片描述
同时修改默认发布页面
在这里插入图片描述
在这里插入图片描述
down掉computer3和computer4
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
11.访问控制
blacklist:自己定义的acl表名字
src:源地址 src_port:源端口(同理还有目标地址dest,目标端口dest_port)
block if:禁止访问
在这里插入图片描述
使用reload更好一些,这样不会中断服务。
在这里插入图片描述
发现computer2访问被拒绝
在这里插入图片描述
上述错误展示的不太美观,加入errorloc定向403这个错误类型到192.168.1.10:8000上去(curl无法呈现定向的页面,这里使用浏览器访问)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如何拒绝访问部分页面?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接重定向,也可以定向到百度等等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • 本文介绍了Paxos的世界中关于复制日志与状态机的概念和重要性。通过存储日志来实现数据的持久化,并通过日志流来记录数据的变化,而不是直接持久化数据本身。这样做的好处是简化了持久化存储的操作,并且方便多机之间的数据同步。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有