mysql集群与订单数据查询

 

1. haproxy介绍与配置

  1.  haproxy介绍

  • HAProxy 是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于 TCP 和 HTTP 的应用程序代理。
  • HAProxy 特别适用于那些负载特大的 web 站点,这些站点通常又需要会话保持或七层处理。
  • HAProxy 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很 简单安全的整合进您当前的架构中, 同时可以保护你的 web 服务器不被暴露到网络上。
  • HAProxy 实现了一种事件驱动,单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模 型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因 为在有更好的资源和时间管理的用户空间 (User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以使每个 CPU 时间片 Cycle 做更多的工作。
  • 相较与 Nginx,HAProxy 更专注与反向代理,因此它可以支持更多的选项,更精细的控制,更多的健康状态检测机制和负载均衡算法。
  • GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter 和 Tuenti 在内的知名网站,及亚马逊网络服务系统都使用了 HAProxy。

Haproxy的特性:

1. 可靠性与稳定性都非常出色,可与硬件级设备媲美。

2. 支持连接拒绝,可以用于防止 DDoS 攻击

3. 支持长连接、短连接和日志功能,可根据需要灵活配置

4. 路由 HTTP 请求到后端服务器,基于 cookie 作会话绑定;同时支持通过获取指定的 url 来检测后端服务器的状态

5. HAProxy 还拥有功能强大的 ACL 支持,可灵活配置路由功能,实现动静分离,在架构设计与实现上 带来很大方便

6. 可支持四层和七层负载均衡,几乎能为所有服务常见的提供负载均衡功能

7. 拥有功能强大的后端服务器的状态监控 web 页面,可以实时了解设备的运行状态 ,还可实现设备上下线等简单操作。

8. 支持多种负载均衡调度算法,并且也支持 session 保持。

9. Haproxy 七层负载均衡模式下,负载均衡与客户端及后端的服务器会分别建立一次 TCP连接,而在 四层负载均衡模式下(DR),仅建立一次 TCP 连接;七层负载均衡对负载均衡设备的要求更高,处理能力 也低于四层负载均衡

haproxy 的配置文件由两部分组成:

1. 全局设定(global settings)

global settings:主要用于定义 haproxy 进程管理安全及性能相关的参数

2. 对代理的设定(proxies)

proxies 共分为4段:defaults,frontend,backend,listen

proxies:代理相关的配置可以有如下几个配置端组成 。

defaults:为除了 global 以外的其它配置段提供默认参数,默认配置参数可由下一个 “defaults” 重新设定。

frontend:定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接。

backend:定义 “后端” 服务器,前端代理服务器将会把客户端的请求调度至这些服务器。

listen:定义监听的套接字和后端的服务器。类似于将 frontend 和 backend 段放在一起 。

# 所有代理的名称只能使用大写字母、小写字母、数字、-(中线)、_(下划线)、.(点号)和:(冒号)。此 外,ACL 名称会区分字母大小写。

2. 配置文件详细介绍

注意:此处只做配置文件介绍,不做为后期负载均

你可能感兴趣的:(mysql,mysql,linux,数据库,负载均衡)