jhegw 发表于 2015-3-16 09:15:28

使用HAProxy作为MongoDB分片集群mongos负载均衡

MongoDB分片集群的入口mongos自身没有failover机制。官方建议是将mongos和应用服务器部署在一起,多个应用服务器就要部署多个mongos实例,这样很是不方便。还可以使用LVS或者HAProxy来实现多个mongos的failover机制,但是一定要注意使用client affinity即客户端关联特性。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
global
    chroot      /data/app_platform/haproxy/share/
    log         127.0.0.1 local3 info
    daemon      
    user      haproxy
    group       haproxy
    pidfile   /var/run/haproxy.pid
    nbproc      1                     
    stats socket/tmp/haproxy level admin
    stats maxconn 20                  
    node      master_loadbalance1
    description lb1
    maxconn   65536
    nosplice                           
    spread-checks 3                     

defaults
    log         global                  
    mode tcp
    option abortonclose         
    option allbackups            
    option tcpka                        
    option redispatch
    retries 3   
    timeout check 60s                  
    timeout connect 600s                           
    timeout queue 600s                  
    timeout server 600s                  
    timeout tarpit 60s
    timeout client 600s   
   
   
   
frontendmongos_pool 0.0.0.0:28018
    mode tcp
    maxconn 32768
    no option dontlognull
    option tcplog   
    log         global
    option log-separate-errors
    default_backend mongos_pool

backend mongos_pool
    mode tcp
    balance   source
    default-server inter 2s fastinter 1s downinter 5s slowstart 60s rise 2 fall 5 weight 30

    servergintama-xxx-mongos1   192.168.100.74:28018    checkmaxconn 2000
    servergintama-xxx-mongos2   192.168.100.75:28018    checkmaxconn 2000





注意使用
balance source

页: [1]
查看完整版本: 使用HAProxy作为MongoDB分片集群mongos负载均衡