flike / kingshard

A high-performance MySQL proxy
6.4k stars 1.23k forks source link

haproxy负载均衡kingshard问题 #313

Open liuchangs opened 7 years ago

liuchangs commented 7 years ago

haproxy配置如下: global log 127.0.0.1 local3 notice maxconn 32000 daemon stats socket /tmp/haproxy level admin

defaults applications TCP log global mode tcp maxconn 32000 retries 3 option redispatch balance leastconn

listen kingshard_9696 *:9696 mode tcp clitimeout 3d srvtimeout 3d contimeout 3d option srvtcpka option clitcpka option tcpka option tcplog server kingshard_xx1 192.168.xxx.xx1:9696 check server kingshard_xx2 192.168.xxx.xx2:9696 check 可以实现转发功能,但是check报错,log/sys.log报: 2017/02/10 08:51:29 - ERROR - conn.go:[106] - [server] "readHandshakeResponse" "connection was bad" "msg=read Handshake Response error" conn_id=10015 2017/02/10 08:51:29 - ERROR - server.go:[352] - [server] "onConn" "connection was bad" "" conn_id=0 将 server kingshard_xx1 192.168.xxx.xx1:9696 check server kingshard_xx2 192.168.xxx.xx2:9696 check 改成 server kingshard_xx1 192.168.xxx.xx1:9696 server kingshard_xx2 192.168.xxx.xx2:9696 取消check后报错停止,单独telnet 192.168.xxx.xx1:9696 报错: 2017/02/10 08:47:20 - ERROR - conn.go:[106] - [server] "readHandshakeResponse" "invalid sequence 10 != 1" "msg=read Handshake Response error" conn_id=10003 2017/02/10 08:47:11 - ERROR - server.go:[352] - [server] "onConn" "invalid sequence 10 != 1" "" conn_id=0 请问如何实现Haproxy探测kingshard啊?谢谢!

flike commented 7 years ago

参考这篇文章https://www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-mysql-load-balancing--3 需要用到mysql-check 选项

liuchangs commented 7 years ago

我试过Mysql-check的方式,但是 需要一个无密码无权限的用户,kingshard好像只能配置一个用户,我直接在mysql建,好像不行

franklwel1990 commented 3 years ago

我遇到同样的问题:Error 1105: connection was bad