1.haproxy使用最需要注意的点:
1.1连接数:
前端maxconn默认值为2000,非常有必要将其增加几倍。
1.2超时时间
timeout connect 60s # haproxy和服务端建立连接的最大时长,设置为1秒就足够了。局域网内建立连接一般都是瞬间的
参考:http://www.cnblogs.com/f-ck-need-u/p/8540805.html

frontend webserver
bind 0.0.0.0:80 #在本机的所有接口监听访问 80 端口的请求

MySQL集群在HAproxy之后运行,HAproxy对进来请求进行负载均衡,对外只暴露一个IP地址。

haproxy反向代理设置:

global
daemon
maxconn 25600
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:800
default_backend servers
backend servers
balance roundrobin #负载均衡模式轮询
server server1 192.168.1.102:80 cookie A check
server server2 192.168.1.104:80 cookie B check

根据用户访问内容实现动静分离:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
frontend http-in
    bind *:80
    mode http
    log global
    option httpclose
    acl url_static path_beg -i /static /images /javascript /stylesheets
    acl url_static path_end -i .jpg .jpeg .gif .png .css .js
    use_backend static_servers if url_static
    default_backend dynamic_servers
backend static_servers
    balance roundrobin
    server imgsrv1 172.18.64.7:80 check maxconn 6000
    server imgsrv2 172.18.64.107:80 check maxconn 6000
backend dynamic_servers
    balance source
    server websrv1 172.18.64.17:80 check maxconn 1000
    server websrv2 172.18.64.106:80 check maxconn 1000

http://www.cnblogs.com/heiye123/articles/7928292.html

################################################

2.haproxy服务器本身只提供代理,没有ssl证书 (一般我们常用的就是这种方式)

这种方式,haproxy不需要重新编译支持ssl,简单方便,只需要后面的web服务器配置好ssl即可。

配置参数(修改haproxy.cfg文件)

frontend https_frontend
bind *:
mode tcp
default_backend web_server backend web_server
mode tcp
balance roundrobin
stick-table type ip size 200k expire 30m
stick on src
server s1 192.168.1.150:
server s2 192.168.1.151: ---------------------------------------------------------
注意,这种模式下mode 必须是tcp 模式
---------------------------------------------------------

cp自http://www.mamicode.com/info-detail-1539510.html  和 https://blog.csdn.net/qq_32485197/article/details/81334974

haproxy原理理解的更多相关文章

  1. HAProxy原理和配置

    HAProxy原理和配置 目录 1.HAProxy简介 2.haproxy安装和配置说明 proxies配置参数 bind配置 Balance配置 基于cookie的会话绑定 统计接口启用相关的参数 ...

  2. JUC回顾之-ConcurrentHashMap源码解读及原理理解

    ConcurrentHashMap结构图如下: ConcurrentHashMap实现类图如下: segment的结构图如下: package concurrentMy.juc_collections ...

  3. POJ1523(割点所确定的连用分量数目,tarjan算法原理理解)

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7406   Accepted: 3363 Description C ...

  4. java的classLoader原理理解和分析

    java的classLoader原理理解和分析 学习了:http://blog.csdn.net/tangkund3218/article/details/50088249 ClassNotFound ...

  5. 01 . HAProxy原理使用和配置

    HaProxy简介 HaProxy是什么? HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上. HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力, ...

  6. js 闭包原理理解

    问题?什么是js(JavaScript)的闭包原理,有什么作用? 一.定义 官方解释:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 很显然 ...

  7. kalman filter卡尔曼滤波器- 数学推导和原理理解-----网上讲的比较好的kalman filter和整理、将预测值和观测值融和

    = 参考/转自: 1 ---https://blog.csdn.net/u010720661/article/details/63253509 2----http://www.bzarg.com/p/ ...

  8. debug 调试原理理解

    引言: 昨天,看了一篇文章,很受启发,记得之前听别的人远程调试过代码,觉得很神奇,在自己程序里打断点,连接远程服务器,开启调试后可以调用远程方法来看数据的输入和输出,不需要查找问题,重新部署,测试问题 ...

  9. shiro的原理理解

    1.shiro原理图如下: 框架解释: subject:主体,可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证.授权. securityManager:安全管理器,主体进行认证和授权都 ...

随机推荐

  1. Thymeleaf学习记录(5)--运算及表单

    Thymeleaf文本及预算: 字面 文本文字:'one text','Another one!',... 号码文字:0,34,3.0,12.3,... 布尔文字:true,false 空字面: nu ...

  2. BZOJ1927: [Sdoi2010]星际竞速(最小费用最大流 最小路径覆盖)

    题意 题目链接 Sol 看完题不难想到最小路径覆盖,但是带权的咋做啊?qwqqq 首先冷静思考一下:最小路径覆盖 = \(n - \text{二分图最大匹配数}\) 为什么呢?首先最坏情况下是用\(n ...

  3. sublime设置语法自动整齐快捷键技巧

    preference>>key bindings-user>>编辑设置文档, 输入 { "keys": ["ctrl+q"], &quo ...

  4. Keras 自适应Learning Rate (LearningRateScheduler)

    When training deep neural networks, it is often useful to reduce learning rate as the training progr ...

  5. Benefits of encapsulation

    ①:通过方法来控制成员变量的操作,提高了代码的安全性. ②:把代码用方法进行封装,提高了代码的复用性.

  6. ElasticSearch初体验之使用

    好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结.现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三个 ...

  7. Hadoop完全分布分布式配置

    1.准备三台虚拟机.安装Ubuntu操作系统,具体过程省略 2.三台虚拟机上分别安装Java环境,具体过程省略(保证三者的Java路径一致) 3.三台机器分别配置ssh本机免密码登录 (1)安装ssh ...

  8. spring boot(6)-JdbcTemplate访问数据库

     pom.xml 添加jdbc模块和mysql依赖 <dependency> <groupId>org.springframework.boot</groupId&g ...

  9. 伪数组 arguments

    arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. (1)返回函数实参的个数:arguments.length 例子: fn(2,4); fn(2,4,6); fn( ...

  10. 如何对iPhone进行屏幕录像

    如何对iPhone进行屏幕录像 录制时候的效果: 1. 打开QuickTime Player 2. 在文件中新建影片录制 3. 然后酱紫录制