HAproxy

LVS、Nginx和HAProxy负载均衡器对比总结

天涯浪子 提交于 2019-12-05 05:06:52
LVS 特点: 1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生; 2.稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived) 3.应用范围比较广,可以对所有应用做负载均衡; 4.不支持正则处理,不能做动静分离。 常用四种算法: 1.rr:轮叫,轮流分配到后端服务器; 2.wrr:权重轮叫,根据后端服务器负载情况来分配; 3.lc:最小连接,分配已建立连接最少的服务器上; 4.wlc:权重最小连接,根据后端服务器处理能力来分配。 可以采用ipvsadm –p(persistence)来保持session,默认是300/s Nginx 特点: 1.可工作在七层或四层,可以对做正则规则处理;(如:针对域名、目录进行分流) 2.配置简单,能ping通就能进行负载功能,可以通过端口检测后端服务器状态,不支持url检测; 3.抗高并发,采用epoll网络模型处理客户请求; 4.只支持HTTP和EMail,应用范围比较少; 5.nginx主要是HTTP和反向代理服务器,低系统资源消耗。 常用四种算法: 1.rr:(默认)轮询,轮流分配到后端服务器; 2.weight:根据后端服务器性能分配; 3.ip_hash:每个请求按访问ip的hash结果进行分配,并发小时合适,解决session问题; 4.fair:(扩展策略)

高可用集群综合实践

Deadly 提交于 2019-12-05 04:57:59
目录 NFS_Rsyslog服务器搭建 Mariadb服务器搭建 Tomcat服务器搭建 Apache服务器搭建 nginx 服务器配置 HAProxy负载均衡服务器搭建 搭建DNS服务器 客户机测试 主要功能 HAProxy服务搭建负载均衡服务器,将请求派发不同的后端服务 Keepalived服务实现主从热备,提高服务的可用性 Nginx服务器负责处理.heml静态web请求,并将动态的请求重定向给指定的服务器 Tomcat服务器负责处理.jsp动态web请求 Apache服务器负责.php动态web请求 Mariadb服务器提供数据存储功能,存储用户注册信息 NFS服务器提供各个站点的数据,保证数据的一致性 Rsyslog服务器记录存储各个服务器的日志 DNS服务器负责各个web站点域名解析 拓扑图 实验环境 haproxy-master server:centos7 192.168.20.10(内网) 192.168.10.10(外网) 192.168.10.200(VIP) haproxy-slave server:centos7 192.168.20.11(内网) 192.168.10.11(外网) 192.168.10.200(VIP) nginx server:centos7 192.168.20.20 nginx server:centos7 192.168.20

各种软件的含义和特点

主宰稳场 提交于 2019-12-05 04:29:50
一、 heartbeat的概念 Linux-HA的全称是High-Availability Linux,它是一个开源项目,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(reliability)、可用性 (availability)和可服务性(serviceability)(RAS)的群集解决方案。其中Heartbeat就是Linux-HA项目中 的一个组件,也是目前开源HA项目中最成功的一个例子,它提供了所有 HA 软件所需要的基本功能,比如心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享 IP 地址的所有者等,自1999年开始到现在,Heartbeat在行业内得到了广泛的应用,也发行了很多的版本,可以从Linux-HA的官方网站www.linux-ha.org下载到Heartbeat的最新版本。 二、 HA集群中的相关术语 1.节点(node) 运行heartbeat进程的一个独立主机,称为节点,节点是HA的核心组成部分,每个节点上运行着操作系统和heartbeat软件服务,在 heartbeat集群中,节点有主次之分,分别称为主节点和备用/备份节点,每个节点拥有唯一的主机名,并且拥有属于自己的一组资源,例如,磁盘、文件 系统、网络地址和应用服务等。主节点上一般运行着一个或多个应用服务。而备用节点一般处于监控状态。 2.资源

Load Balancing using HAProxy for Postgresql 9.4

一曲冷凌霜 提交于 2019-12-05 02:55:55
问题 I have made a setup of multi-master replication of PostgreSQL using BDR (Bi-Directional Replication) among 4 nodes (virtual machines). Now i want to put a load-balancer for High Availability. For this i have installed and configured "HAProxy" on a different virtual machine, which is listening over 5432/tcp to connect. The haproxy configuration is as follows: listen pgsql_bdr *:5432 mode tcp option httpchk balance roundrobin server master 192.168.123.1:5432 check backup server slave1 192.168

TiDB 最佳实践系列(六)HAProxy 的使用

梦想的初衷 提交于 2019-12-05 01:56:51
作者:李仲舒 HAProxy 是一个使用 C 语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于 TCP 和 HTTP 的应用程序代理。GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter 和 Tuenti 在内的知名网站,及亚马逊网络服务系统都在使用 HAProxy。 TiDB Server 作为无限水平扩展的无状态计算节点,需要能提供稳定且高性能的负载均衡组件用对外统一的接口地址来提供服务,而 HAProxy 在负载均衡的生态中占有很大的市场,TiDB 用户可以将这一成熟稳定的开源工具应用在自己的线上业务中,承担负载均衡、高可用的功能。 HAProxy 简介 HAProxy 由 Linux 内核的核心贡献者 Willy Tarreau 于 2000 年编写,他现在仍然负责该项目的维护,并在开源社区免费提供版本迭代。最新的稳定版本 2.0.0 于 2019 年 8 月 16 日发布,带来更多 优秀的特性 。 HAProxy 部分核心功能 高可用性 :HAProxy 提供优雅关闭服务和无缝切换的高可用功能; 负载均衡 :L4(TCP)和 L7(HTTP)负载均衡模式,至少 9 类均衡算法,比如 roundrobin,leastconn,random 等; 健康检查 :对 HAProxy 配置的 HTTP 或者

你不知道的是

廉价感情. 提交于 2019-12-05 01:49:52
Linux运维跳槽必备的40道面试精华题 1、 什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有 DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等 2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维 开发运维:是给应用运维开发运维工具和运维平台的 应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查 系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等 总结:开发运维和系统运维给应用运维提供了 “工具”和“基础设施”上的支撑开发运维、应用运维 和系统运维他们的工作是环环相扣的 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的? 游戏运营要做的一个事情除了协调工作以外还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划 3、现在给你三百台服务器,你怎么对他们进行管理? 管理 3百台服务器的方式: 1)设定跳板机,使用统一账号登录,便于安全与登录的考量。 2)使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。 3)建立简单的服务器的系统、配置

第十五周作业

╄→гoц情女王★ 提交于 2019-12-05 00:28:38
1、 Nginx+Keepalived实现站点高可用 答: keep_1#] yum –y install keepalived s1_#] vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node1 vrrp_mcast_group4 224.0.100.19 } vrrp_instance VI_1 { state MASTER interface eno16777736 virtual_router_id 14 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 571f97b2 } virtual_ipaddress { 10.1.0.90/16 dev eno16777736 } } keep_2#] yum –y install keepalived s1_#] vim /etc

How can I set up HAProxy to a backend based on a value in the url?

非 Y 不嫁゛ 提交于 2019-12-04 19:45:21
I am working on an application that consists of multiple services that, in production, run on different servers. In development, they run as multiple sites with different ports on the same machine. I would like to be able to use a hostname to locate the services, and have HAProxy do the port mapping to a dynamic backend host/port. I have a wildcard DNS mapping for the domain, resolving to the HAProxy IP. For example, http://serviceA-myhost.domain.com/ would map to http://myhost:8080 , http://serviceB-myotherhost.domain.com/ would map to http://myotherhost:8081 , and so on. I can write these

干货:haproxy和nginx负载均衡

别说谁变了你拦得住时间么 提交于 2019-12-04 19:28:30
出于对负载均衡工具的疑问,分别对haproxy和nginx的负载均衡进行了抓包分析,分析的过程跟大家分享下。先说下对haproxy抓包得到的结论吧:haproxy在负载均衡的一台后端挂掉后,如果还没达到探测的时间点时,请求还会往挂掉的这台转发,请求会丢失。 haproxy负载均衡的实验过程如下: 1: 先看下haproxy的配置。配置inter 20000为20s检测一次,这个是为了更明显的抓下haproxy的负载均衡探测机制。 listen test9090 bind 127.0.0.1:9090 mode tcp server localhost90 127.0.0.1:90 check inter 20000 server localhost91 127.0.0.1:91 check inter 20000 2: 后端我是用nginx进行测试,看下nginx的配置如下。可在/var/www/html/建个index.html进行测试 server { listen 90; listen 91; location /{ root /var/www/html; } } 先用curl 127.0.0.1:9090进行测试,并在机器上开两个窗口看下抓包是否均衡正常,两个窗口运行的命令分别如下:tcpdump -i lo -nn 'port 90' tcpdump -i lo -nn

Nginx/LVS/HAProxy负载均衡软件的优缺点详解

空扰寡人 提交于 2019-12-04 19:27:53
PS: Nginx /LVS/ HAProxy 是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的 应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费 的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。 一种是通过硬件来进行进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点 就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于 Linux 的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 目前关于网站架构一般比较合理流行的架构方案:Web前端采用Nginx/HAProxy+ Keepalived 作负载均衡器;后端采用 MySQL 数据库一主多从和读写分离,采用LVS+Keepalived的架构。 当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合。 Nginx的优点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名