HAproxy

Ansible专栏:一步到位玩透Ansible

耗尽温柔 提交于 2020-04-30 15:01:22
一步到位玩透Ansible 我写了一个关于Ansible的专栏,从0到1玩透性质的,非常系统性,大概39W字,转成pdf有430多页,只需39元。 地址: https://blog.51cto.com/cloumn/detail/83 专栏目录 : 1.学习不迷茫:Ansible要如何学至精通 2.初入Ansible世界:用法概览和初体验 3.制定演员表:inventory 4.嘿,瞧瞧Ansible的灵魂:playbook 5.Ansible力量初显:批量初始化服务器 6.更大的舞台(1):组织多个文件以及Role 7.更大的舞台(2):利用Role部署LNMP案例 8.回归Ansible并进阶:变量、条件、循环、异常处理及其它 9.如虎添翼的力量:解锁强大的Jinja2模板 10.服务0 downtime的追求:Haproxy+Nginx集群服务的滚动发布和节点伸缩 11.Ansible你快点:Ansible执行过程分析、异步、效率优化 12.让Ansible更安全:使用Vault进行加密 13.蚂蚁多了也咬不死Ansible:Ansible Tower 14.Ansible管理docker和openstack 15.意外之喜:Ansible管理Windows主机 16.成就感源于创造:自己动手写Ansible模块 详细目录: 1.学习不迷茫:Ansible要如何学至精通 1

负载均衡服务之HAProxy基础配置(四)

こ雲淡風輕ζ 提交于 2020-04-28 09:19:56
  前文我们聊了haproxy的状态页配置,状态页中显示各参数的含义,以及基于cookie做会话保持的配置,回顾请参考 https://www.cnblogs.com/qiuhom-1874/p/12776261.html ;今天我们来聊一聊haproxy的修改报文首部配置、压缩功能、自定义策略对后端主机做健康状态检查;   首先我们来看看haproxy的修改报文首部的配置;   作为代理服务器,在完成一次http事务的过程中,报文的流向是这样的;首先用户端的请求会到达haproxy,haproxy收到用户的请求,对其进行拆包分析,然后根据用户请求报文的某些首部的特征,然后模拟用户的请求去请求对应后端server,此时haproxy就扮演着客户端角色去请求后端服务器;后端服务器收到haproxy的请求,然后响应资源内容给haproxy,haproxy收到后端服务器的响应,然后再次拆包,分析,然后封装响应报文响应客户端;在这样的一个过程中,对于客户端的请求报文是否能够到达后端服务器或者后端服务器的响应报文是否能够到达客户端这个需要haproxy说了算;简单说haproxy可以控制用户的那些报文首部让后端服务器看到,那些不能看到,又或者说haproxy可以在请求报文中添加一些特定的首部发送给后端服务器,这就好比两个人传话,对于后面的人,中间传话的人可以添油加醋

负载均衡服务之HAProxy基础配置(四)

核能气质少年 提交于 2020-04-28 08:38:16
  前文我们聊了haproxy的状态页配置,状态页中显示各参数的含义,以及基于cookie做会话保持的配置,回顾请参考 https://www.cnblogs.com/qiuhom-1874/p/12776261.html ;今天我们来聊一聊haproxy的修改报文首部配置、压缩功能、自定义策略对后端主机做健康状态检查;   首先我们来看看haproxy的修改报文首部的配置;   作为代理服务器,在完成一次http事务的过程中,报文的流向是这样的;首先用户端的请求会到达haproxy,haproxy收到用户的请求,对其进行拆包分析,然后根据用户请求报文的某些首部的特征,然后模拟用户的请求去请求对应后端server,此时haproxy就扮演着客户端角色去请求后端服务器;后端服务器收到haproxy的请求,然后响应资源内容给haproxy,haproxy收到后端服务器的响应,然后再次拆包,分析,然后封装响应报文响应客户端;在这样的一个过程中,对于客户端的请求报文是否能够到达后端服务器或者后端服务器的响应报文是否能够到达客户端这个需要haproxy说了算;简单说haproxy可以控制用户的那些报文首部让后端服务器看到,那些不能看到,又或者说haproxy可以在请求报文中添加一些特定的首部发送给后端服务器,这就好比两个人传话,对于后面的人,中间传话的人可以添油加醋

运维项目总结

好久不见. 提交于 2020-04-27 10:53:21
目录 中小型公司高并发网站集群搭建 2018.04 - 2018.04 大型公司集群搭建 2018.08 - 2018.08 docker项目 2019.01 - 2019.01 Kubernetes项目 2019.02 - 2019.04 wordpress博客计划 2019.06 - 2019.06 中小型公司高并发网站集群搭建 2018.04 - 2018.04 所需技术: keepalived、nginx、apache、mysql、nfs、rsync、sersync、inotify ... 项目职责: 此项目为个人项目。本人全程负责项目的实施。 项目浅谈: 此项目是我的第一个运维项目,基本是模拟网上的架构图来的 这个项目是为了搭建一个稳定、安全、快速、经济的中小型 web 网站 项目架构图:为了真实性,我直接从我的博客中获取的架构图。 大型公司集群搭建 2018.08 - 2018.08 所需技术: 负载均衡、web服务、mysql主主/主从、memcache缓存、数据共享/数据备份 ... 项目职责: 此项目为个人项目。本人全程负责项目的实施。 项目浅谈: 此项目是我的第二个运维项目,是对网上的一张架构图的改动 借助于所学的应用服务基本满足了一个相对大的公司对集群架构的需求。 项目架构图:为了真实性,我直接从我的博客中获取的架构图。 docker项目 2019.01 -

运维项目总结

纵饮孤独 提交于 2020-04-27 10:31:36
目录 中小型公司高并发网站集群搭建 2018.04 - 2018.04 大型公司集群搭建 2018.08 - 2018.08 docker项目 2019.01 - 2019.01 Kubernetes项目 2019.02 - 2019.04 wordpress博客计划 2019.06 - 2019.06 中小型公司高并发网站集群搭建 2018.04 - 2018.04 所需技术: keepalived、nginx、apache、mysql、nfs、rsync、sersync、inotify ... 项目职责: 此项目为个人项目。本人全程负责项目的实施。 项目浅谈: 此项目是我的第一个运维项目,基本是模拟网上的架构图来的 这个项目是为了搭建一个稳定、安全、快速、经济的中小型 web 网站 项目架构图:为了真实性,我直接从我的博客中获取的架构图。 大型公司集群搭建 2018.08 - 2018.08 所需技术: 负载均衡、web服务、mysql主主/主从、memcache缓存、数据共享/数据备份 ... 项目职责: 此项目为个人项目。本人全程负责项目的实施。 项目浅谈: 此项目是我的第二个运维项目,是对网上的一张架构图的改动 借助于所学的应用服务基本满足了一个相对大的公司对集群架构的需求。 项目架构图:为了真实性,我直接从我的博客中获取的架构图。 docker项目 2019.01 -

haproxy匹配不同路径转发

好久不见. 提交于 2020-04-21 20:47:32
本文略过haproxy安装和基本配置 主要写一下haproxy根据不同不路径访问不同集群 本文架构如图,集群A和集群B就先用一台web服务器代替 利用ACL匹配访问路径,访问192.168.0.11/a,和192.168.0.11/b时返回不同集群的内容,配置如下 listen web bind 192.168.0.11:80 mode http acl static_path_a path_beg -i /a #path_beg匹配URL开头 use_backend static_path_host_a if static_path_a acl static_path_b path_beg -i /b use_backend static_path_host_b if static_path_b backend static_path_host_a server web1 192.168.0.109:80 backend static_path_host_b server web1 192.168.0.105:80 当然实际情况backend中有很多提供相同服务的服务器,我在这分别在102.168.0.109和192.168.0.105搭建两台apache进行测试,在默认目录中创建a,b目录,默认页输入不同内容,效果如图 来源: oschina 链接: https://my

RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群

对着背影说爱祢 提交于 2020-04-21 05:42:31
本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群。受限于自身条件,本文使用VMware虚拟机的克隆功能克隆了两台服务器进行操作,仅作为一个demo,开发中可根据实际情况进行调整。 为什么要搭建高可用负载均衡集群?一句话来说就是:引入消息队列,可以实现异步操作、流量削峰、应用解耦等好处,但是消息队列毕竟是一把双刃剑,带了这些好处的同时也会使系统可用性、稳定性降低。对于RabbitMQ而言,它本身并不是分布式的(对比Kafka),所以我们要搭建RabbitMQ的集群来实现高可用。 首先看下RabbitMQ高可用负载均衡集群长什么样子: 使用Docker构建RabbitMQ高可用负载均衡集群大概分为三个步骤: 启动多个(3个为例)RabbitMQ,构建RabbitMQ集群,并配置为镜像模式。 使用HAProxy做负载均衡。 使用KeepAlived实现高可用。 一、构建RabbitMQ集群 1. 启动多个RabbitMQ节点 使用Docker启动3个RabbitMQ节点,目标如下表所示: 服务器ip 端口 hostname 管理界面地址 192.168.16.128 5672 my-rabbit1 192.168.16.128:15672 192.168

RabbitMQ精讲9:镜像模式集群搭建,整合KeepAlived+HaProxy组件

爱⌒轻易说出口 提交于 2020-04-21 04:16:48
目录 1. 镜像模式集群搭建 1.1 集群节点安装 1、安装依赖包 2、下载安装包 3、安装服务命令 4、修改集群用户与连接心跳检测 5、安装管理插件 6、服务指令 1.2 文件同步步骤 1.3 组成集群步骤 1、停止MQ服务 2、组成集群操作 3、slave加入集群操作(重新加入集群也是如此,以最开始的主节点为加入节点) 4、修改集群名称 5、查看集群状态 6、管控台界面 1.4 配置镜像队列 1.5 安装Ha-Proxy 1、Haproxy简介 HAProxy如何实现性能最大化 2、Haproxy安装 3、Haproxy配置 4、启动haproxy 5、访问haproxy 6、关闭haproxy 1.6 安装KeepAlived 1、Keepalived简介 Keepalived特性 Keepalived高可用原理 2、Keepalived安装 3、Keepalived配置 79节点(Master)配置如下 80节点(backup)配置如下 4、执行脚本编写 5、执行脚本赋权 6、启动keepalived 7、高可用测试 1.7 集群配置文件 环境变量配置文件:rabbitmq-env.conf 配置信息配置文件:rabbitmq.config 2. RabbitMQ集群恢复与故障转移 场景一:A先停, B后停 场景二:A, B同时停机 场景三:A先停, B后停, 且A无法恢复

rancher-HA快速搭建

一个人想着一个人 提交于 2020-04-21 02:47:51
Rancher-Kebernetes安装文档 版本: rancher: V1.6 docker: V1.12.3 mysql: mysql HA部署的要求: 一、rancher server节点: 1、8G或者16G及以上 二、rancher agent節點要求: 1、支持docker的linux系统,Ubuntu,REHL/Centos7 2、docker版本建议是v1.12.3(其他版本可能会出现kubernetes的UI無法顯示),docker的storage driver不支持默认的 devicemapper using loopback,需要改为overlay或者overlay2 3、9345,8080端口要求各节点互相访问 4、不建议使用selinux组件 5、各节点内存至少1GB以上 三、數據庫MYSQL: 1、MYSQL內存至少1GB,版本5.7 2、默認一個rancher server 需要50个mysql的连接,例如:3个节点的Rancher则需要至少150个连接 3、高性能磁盘 4、HA集群需要mysql主從 my.cnf要求: 每个Rancher Server节点需要50个连接 (例如:3个节点的Rancher则需要至少150个连接) MYSQL配置要求 选项1: 用默认COMPACT选项运行Antelope 选项2: 运行MySQL 5.7

HAProxy的独门武器:ebtree[转]

≯℡__Kan透↙ 提交于 2020-04-18 04:39:48
1. HAProxy和ebtree简介 HAProxy是法国人Willy Tarreau个人开发的一个开源软件,目标是应对客户端10000以上的同时连接,为后端应用服务器、数据库服务器提供高性能的负载均衡服务。 在底层数据结构方面,旧版本HAProxy曾经使用过红黑树,用于任务调度、负载均衡等方面。但是Willy Tarreau认为,在事件响应非常频繁的情况下,任务插入、删除的频率非常高,这时候使用红黑树存在性能瓶颈,尤其不能接受红黑树删除节点的时间复杂度为O(log n)。因此,他发明了一种新的数据结构,叫做 弹性二叉树(elastic binary tree) ,简称ebtree。 目前新版本的HAProxy(本文编写时最新版本为1.4.23)已使用ebtree,而除了HAProxy之外,还没有其它著名的开源软件使用ebtree。可以这么说,HAProxy最有特色的地方就是ebtree,ebtree名符其实是HAProxy的独门武器。 ebtree是不平衡的二叉搜索树(BST),而红黑树、AVL树等都是平衡的BST。传统的BST最怕的就是退化成线性搜索,因此,红黑树等BST插入、删除时都需要对树进行平衡化,而平衡化是一个从叶子节点开始,向根节点方向递归向上的过程,时间复杂度是O(log n)。 有鉴于此,ebtree为了实现删除节点时O(1)的时间复杂度,必然放弃保持树的平衡