HAproxy

Ubuntu编译安装HAprox+Keepalived+MySQL负载高可用架构(结合Docker容器配置)

百般思念 提交于 2020-03-01 12:34:27
系统环境:Ubuntu16.04(Docker容器) 架构环境: Keepalived/HAproxy MASTER: 172.17.0.4 Keepalived/HAproxy BACKUP: 172.17.0.6 MySQL MASTER: 172.17.0.2 MySQL SLAVE: 172.17.0.3 HAproxy版本:haproxy-2.0.8.tar.gz Keepalived版本:keepalived-2.0.19.tar.gz 一、安装HAproxy(MASTER/BACKUP两台都要装) 1、前往官网 https://www.haproxy.org/ 下载HAproxy 解压,进入haproxy-2.0.8目录 vim INSTALL;查看安装说明 2、编译安装HAproxy (1)编译 报错1:bash: make: command not found 我直接用docker容易,make命令没安装,安装一下: apt-get -y install make 然后执行: make -j 2 TARGET=generic USE_GZIP=1 报错2:/bin/sh: 1: gcc: not found 未安装gcc,安装gcc: apt-get -y install gcc 然后再执行: make -j 2 TARGET=generic USE_GZIP=1

linux日志切割工具 logrotate

ぃ、小莉子 提交于 2020-03-01 03:44:56
centos-7.6系统默认安装logrotate,默认的配置文件: /etc/logrotate.conf /etc/logrotate.d/ logrotate.conf:为主配置文件 logrotate.d:为配置相关子系统,用于隔离每个应用配置(Nginx、PHP、Tomcat...) 用于解决个别日志文件过大,不易清理及查看 以haproxy 为例 cat /etc/logrotate.d/haproxy /var/log/haproxy/haproxy.log { #文件绝对路径,nginx日志亦同上 daily #指定转储周期为每天 rotate 20 #保留20天的日志 missingok #如果日志文件丢失,不进行显示错误 notifempty #当日志文件为空时,不进行转储 dateext #加上日志格式 compress #通过gzip压缩转储后的日志 sharedscripts #转储完成后运行脚本,postrotate-endscript间为脚本内容,脚本效果为重启rsyslogd服务。 postrotate systemctl restart rsyslog.service endscript } 测试配置文件 logrotate -d /etc/logrotate.d/haproxy 该服务由anacron调用 anacron默认配置如下

负载均衡的mariadb集群搭建

无人久伴 提交于 2020-02-29 22:16:14
集群介绍: Galera是一个MySQL(也支持MariaDB,Percona)的同步多主集群软件,目前只支持InnoDB引擎。 主要功能: 同步复制 真正的multi-master,即所有节点可以同时读写数据库 自动的节点成员控制,失效节点自动被清除 新节点加入数据自动复制 真正的并行复制,行级 用户可以直接连接集群,使用感受上与MySQL完全一致 优势: 因为是多主,所以不存在Slave lag(延迟) 不存在丢失交易的情况 同时具有读和写的扩展能力 更小的客户端延迟 节点间数据是同步的,而Master/Slave模式是异步的,不同slave上的binlog可能是不同的 实现技术: Galera集群的复制功能基于Galera library实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。 实践操作:负载均衡集群搭建 1 .下载mariadb集群 wget http://mirrors.opencas.cn/mariadb/mariadb-galera-10.0.17/bintar-linux-x86_64/mariadb-galera-10.0.17-linux-x86_64.tar.gz 2. 添加mariadb用户和组 groupadd mariadb useradd -g mariadb mariadb 3.

利用haproxy 作webserver(apache)的负载均衡

天大地大妈咪最大 提交于 2020-02-28 17:13:14
1、要解决的问题 (1)后台web server要考虑扩容和负载均衡; (2)要保护后台webserver ,避免webserver 由于负载过高,造成系统不可用 2、试验环境 haproxy:HA-Proxy version 1.6.0 2015/10/13 apache2 : Server version: Apache/2.4.7 (Ubuntu) Server built: Jan 14 2016 17:45:23 目的:所有访问 192.168.1.2:80 的web 请求,会通过 haproxy 均衡的分配给为 192.168.1.2:8001 192.168.101.2:8002 ,这是两个监听不同端口的apache 服务器; 3、解决思路 让所有 访问haproxy的请求都转发给,8001 和 8002 ,haprxy 要对这些请求进行调度,由8001 和8002 进行实际的处理php 文件 4、配置文件 haproxy :配置文件路径:/etc/haproxy/haproxy.cfg ``` global log 127.0.0.1 local0 #maxconn 20000 #uid 535 #uid和gid按照实际情况进行配置 #gid 520 #chroot /var/chroot/haproxy daemon nbproc 1 defaults log

http高可用+负载均衡 corosync + pacemaker + pcs

∥☆過路亽.° 提交于 2020-02-28 15:18:09
http高可用+负载均衡 corosync + pacemaker + pcsopenstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #http高可用+负载均衡pacemaker+haproxy #http+corosync+pacemaker+pcs+haproxy #ssh免密验证,必须设置http://www.cnblogs.com/elvi/p/7736521.html ######################## #所有控制节点 #安装Pacemake Corosync yum install corosync pacemaker pcs fence-agents resource-agents -y yum install haproxy httpd -y #启动pcsd systemctl enable pcsd.service systemctl start pcsd.service #修改群集用户hacluster密码 echo centos | passwd --stdin hacluster #http设置 cp /etc/httpd/conf/httpd.conf{,.bak} sed -i 's#^Listen 80#Listen 8080#' /etc/httpd/conf

RabbitMQ 消息中间件

允我心安 提交于 2020-02-26 22:03:58
1、消息中间件 1、简介 消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。 当下主流的消息中间件有RabbitMQ、Kafka、ActiveMQ、RocketMQ等。其能在不同平台之间进行通信,常用来屏蔽各种平台协议之间的特性,实现应用程序之间的协同。优点在于能够在客户端和服务器之间进行同步和异步的连接,并且在任何时刻都可以将消息进行传送和转发,是分布式系统中非常重要的组件,主要用来解决应用耦合、异步通信、流量削峰等问题。 2、作用 1、消息中间件主要作用 解耦 冗余(存储) 扩展性 削峰 可恢复性 顺序保证 缓冲 异步通信 2、消息中间件的两种模式 1、P2P模式 P2P模式包含三个角色:消息队列(Queue)、发送者(Sender)、接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到它们被消费或超时。 P2P的特点: 每个消息只有一个消费者(Consumer),即一旦被消费,消息就不再在消息队列中 发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行它不会影响到消息被发送到队列 接收者在成功接收消息之后需向队列应答成功

金三银四:一名已经拿到大厂offer程序员的饭后闲谈!

删除回忆录丶 提交于 2020-02-26 11:47:33
java 又到了茶余饭后的时间,想想写点什么,掐指一算,噢呦,快到3月份了,职场的金三银四跳槽季又来了,不同的是今年比往年「冷」一些,形式更加严峻一些,大家多多少少可能都听到或看到一些信息,就是好多公司在优化裁员,代表的就是滴滴、京东这种大型互联网公司,已经官宣了。 即使这种情况下,我相信,3、4月份仍然会有一波离职、求职潮。 作为求职这来说,面试是一道坎,很多人会恐惧面试,即使是工作很多年的老鸟,可能仍存在面试的焦虑。 今天就来说一说 前言 在这里记录一下个人面试中遇到的一些印象较深的问题(有时候紧张不可能全部记得),主要是作为一种经验积累吧。 数据库类 作为后端开发,可以说数据库是重之又重。提问的比例也相当之大。所以这里先记录下这个。 如何快速导入10万条数据到MySQL数据库? 这个应该当时很紧张,居然半天说不出来。其实当时心里有一个答案了,就是存储过程。但是因为 平常开发基本上没用到过这东西,所以都不敢说了。。 网上还有有一些答案说批处理,通过sql文件进行导入等等,这个有时间可以去验证一番。 MySQL主从配置时,如果在主服务器修改某个数据,然后在从服务器中读取,因为延迟或者宕机的问题,导致没有读到数据,应该怎么办? 这个面试官很厉害啊,很多问题都是提一些开放性的东西,只让你提供思路,没有正确与否的标准 答案。 网上找了下,有以下两种技术可以做到主从断开,数据不一致的处理

[转帖]kubernetes v1.14.0高可用master集群部署(使用kubeadm,离线安装)

[亡魂溺海] 提交于 2020-02-26 09:06:57
kubernetes v1.14.0高可用master集群部署(使用kubeadm,离线安装) https://www.jianshu.com/p/a55e7d95a875 好像都需要使用HAproxy和keepalived 改天学习一下. hnbcao 关注 0.0962019.04.09 19:30:14字数 1,284阅读 1,583 集群方案: 发行版:CentOS 7 容器运行时 内核: 4.18.12-1.el7.elrepo.x86_64 版本:Kubernetes: 1.14.0 网络方案: Calico kube-proxy mode: IPVS master高可用方案:HAProxy keepalived LVS DNS插件: CoreDNS metrics插件:metrics-server 界面:kubernetes-dashboard Kubernetes集群搭建 Host Name Role IP master1 master1 192.168.56.103 master2 master2 192.168.56.104 master3 master3 192.168.56.105 node1 node1 192.168.56.106 node2 node2 192.168.56.107 node3 node3 192.168.56.108 1

HAProxy CORS OPTIONS header intercept setup

和自甴很熟 提交于 2020-02-26 06:45:29
问题 With my NGinx setup I was able to intercept OPTIONS requests from ajax preflight and respond with the correct CORS headers and a 200 response so the request could continue onwards. I am attempting to consolidate my frontend proxies into HAProxy and am having some issues getting this piece of the puzzle working. My particular issue is that while I am able to add the proper CORS options when there is a server able to respond properly to an OPTIONS request, a few of the backends cannot handle

HAProxy CORS OPTIONS header intercept setup

给你一囗甜甜゛ 提交于 2020-02-26 06:43:14
问题 With my NGinx setup I was able to intercept OPTIONS requests from ajax preflight and respond with the correct CORS headers and a 200 response so the request could continue onwards. I am attempting to consolidate my frontend proxies into HAProxy and am having some issues getting this piece of the puzzle working. My particular issue is that while I am able to add the proper CORS options when there is a server able to respond properly to an OPTIONS request, a few of the backends cannot handle