您的位置:威尼斯官方网站 > 威尼斯官方网站登录 > 机房内有三套程序需要读取数据库

机房内有三套程序需要读取数据库

发布时间:2019-08-10 19:24编辑:威尼斯官方网站登录浏览(58)

    使用HAProxy代理SQL Server的AlwaysOn帮助别本

    商厦方今数据库晋级到SQL Server2016 ,并铺排了alwayson高可用集群

    机室内有三套程序需求读取数据库

    第一套:主程序,读写数据库,连接主别本

    其次套:报表程序,读报表,连接扶助别本

    其三套:历史库程序,读历史库,连接帮忙别本

     

    软件条件

    图片 1

    机器情状

    图片 2

     

    架构图

    图片 3

    为什麽需求利用HAProxy?

    从前机房里面有3000个极点,这一个极端是五个极小的嵌入式设备,第二套报表程序原本是运用直连数据库IP(10.11.10.36)来延续数据库

    但诸如此比有三个害处,当36这台帮忙别本宕机,那么报表程序就瘫痪了,因为三千个极点要改成数据库连接须求烧写程序到终点里面非常耗时

    唯恐要几天时间

     

    最终决定接纳HAProxy做负载均衡和TCP连接重定向

    利用HAProxy有几个平价

    1、前端不供给后端数据库的实际IP,当需求进步后端数据库,例如打补丁的时候极度方便

    2、HAProxy能够自动检查测量试验后端数据库服务,探测1433端口是或不是存活,假使1433端口出标题,能够自行重定向连接到37那台扶助别本

    3、减轻单台读库压力,使用LX570Tiggo轮询算法,诉求均衡分发到36和37这两台帮助副本,缓慢化解36那台机器的下压力

    图片 4

     

     


    HAProxy相关配置步骤

     

    #yum安装,版本是1.5.4

    yum install -y haproxy.x86_64
    

     

     

    #编辑rsyslog 文件,修改为-c 2 -r -x -m

    vi /etc/sysconfig/rsyslog
    SYSLOGD_OPTIONS="-c 2 -m 0 -r -x"
    

     

     

    #编排rsyslog.conf 文件增加两行local3.*  和local0.*

    vi /etc/rsyslog.conf
    local7.*                                                /var/log/boot.log
    local3.*                                                /var/log/haproxy.log
    local0.*                                               /var/log/haproxy.log
    

     

     

     

    #重启rsyslog服务

    service rsyslog restart
    

     

     

    # 编辑haproxy配置文件 上边以mssql从库负载均衡为例

    vi /etc/haproxy/haproxy.cfg
    
    global
    log 127.0.0.1 local2 
    chroot /var/lib/haproxy 
    pidfile /var/run/haproxy.pid 
    maxconn 6000 
    user haproxy 
    group haproxy 
    daemon 
    #stats socket /var/lib/haproxy/stats     
    stats socket /var/run/haproxy.sock mode 666 level admin
    stats timeout 2m
    
    
    defaults 
    mode http 
    log                 127.0.0.1:514       local3                     
    option                  dontlognull
    #option http-server-close
    #option forwardfor       except 127.0.0.0/8
    option redispatch
    retries 3 
    timeout http-request 10s 
    timeout connect 10s 
    timeout client 1m 
    timeout server 1m 
    timeout http-keep-alive 10s
    timeout check 10s
    maxconn 6000
    
    
    
    
    
    listen stats 
    mode http
    bind *:2080
    stats enable
    stats refresh 30s
    stats uri /haproxyadminstats
    stats realm HAProxy Statistics
    stats auth admin:admin
    stats admin if TRUE
    
    
    listen mssql :1433
    mode tcp
    balance roundrobin
    server mssqldb1 10.11.10.36:1433 weight 1 maxconn 6000 check port 1433 inter 2000 rise 2 fall 2
    server mssqldb2 10.11.10.37:1433 weight 1 maxconn 6000 check port 1433 inter 2000 rise 2 fall 2
    

     

     

    #自己商酌铺排文件是还是不是有语法错误

    haproxy -f /etc/haproxy/haproxy.cfg -c
    Configuration file is valid
    

     

    #启动haproxy

    /etc/init.d/haproxy start
    

     

     

    #反省haproxy是不是在监听

    netstat -lntp
    

     

    注意:Centos机器只须求动用一个网口,没有需求额外扩展网口

    图片 5

    #开采后台管理分界面

     

    HAProxy提供了四个后台处理分界面

    图片 6

     

    查看haproxy的日志

    cat /var/log/haproxy.log
    

    图片 7


    测验阐明

    使用SSMS2016来连接HAProxy的IP

    10.11.10.39

    图片 8

    这段日子是延续到GZC-SQL03那台机

     

    现行反革命把 GZC-SQL03那台机的SQL服务停了

    图片 9

    HAProxy已经探测到 GZC-SQL03那台机的SQL服务停了

    图片 10

     再一次点击一下执行按键,能够开掘已经重定向到 GZC-SQL02那台机

    图片 11

     

     

    虽说经过HAProxy这一层,然而质量方面也不算太差

    图片 12


     

    HAProxy的通讯格局

    通讯方式周围于LVS的NAT情势

    LVS的NAT情势(调整器将央浼的靶子ip即vip地址改为Real server的ip, 重临的多少包也通过调节器,调节器再把源地址修改为vip)

    图片 13

    图片 14

     

     


    总结

    线上情状使用HAProxy已经基本上1个月,到近期未曾出现过难题,相比稳固

    对于HAProxy原理上的事物这里就不陈诉了,网络有成都百货上千资料

     

    参谋小说:

     

    如倘若各样事情使用差异端口,可以动用上面包车型客车配置文件

    举个例子说报表使用1433端口,BI抽取数据运用2433端口

    vi /etc/haproxy/haproxy.cfg
    global
        log         127.0.0.1 local2 
        chroot      /var/lib/haproxy       
        pidfile     /var/run/haproxy.pid     
        maxconn     6000                               
        user        haproxy           
        group       haproxy           
        daemon
        #stats socket /var/lib/haproxy/stats 
        stats socket /var/run/haproxy.sock mode 666 level admin
        stats timeout 2m
    
    
    
    
    defaults         
        mode                    http               
        log                     global                         
        option                  dontlognull
        option http-server-close
        option forwardfor       except 127.0.0.0/8
        option                  redispatch
        retries                 3                 
        timeout http-request    10s        
        timeout connect         10s               
        timeout client          1m                 
        timeout server          1m                 
        timeout http-keep-alive 10s
        timeout check           10s
        maxconn                 6000               
    
    
    
    
    
    listen stats     
        mode http
        bind *:2080
        stats enable
        stats refresh 30s
        stats uri   /haproxyadminstats
        stats realm  HAProxy Statistics
        stats auth   admin:admin
        stats admin if TRUE
    
    
    listen mssql :1433
        mode tcp
        balance roundrobin
        server mssqldb1 10.11.10.36:1433  weight 1 maxconn 6000 check port 1433 inter 2000  rise 2 fall 2
        server mssqldb2 10.11.10.37:1433  weight 1 maxconn 6000 check port 1433 inter 2000  rise 2 fall 2
    
    
    listen mssql2 :2433
        mode tcp
        balance leastconn
        server mssqldb3 10.11.10.37:1433   maxconn 6000 check port 1433 inter 2000  rise 2 fall 2
    

     

     

    如有不对的地方,应接大家拍砖o(∩_∩)o 

    正文版权归小编全数,未经笔者同意不得转发。

    本文由威尼斯官方网站发布于威尼斯官方网站登录,转载请注明出处:机房内有三套程序需要读取数据库

    关键词:

上一篇:可以查询姓名

下一篇:没有了