「讨论」如何搭建 Sharding-proxy 集群?

搬运君又来搬运优质 Discussions 啦,提问者来源于 GitHub marker-wu

marker-wu:

如何搭建 sharding-proxy 集群?


CrackerSuperior:

我也是这么想的。
我的简单解决方案是将 ZooKeeper 作为配置中心和注册中心。LVS 执行负载均衡。它工作正常。但是不知道是不是真的满足集群需求


CrackerSuperior:

这是我的图:
分片会话English@2x


marker-wu:

这是我的照片:
分片会话English@2x

哈哈,我和你的想法一样。昨晚尝试用 Nginx 代理 proxy,没用。不知道是不是我的配置有问题。
你试成功了吗?


CrackerSuperior:

这是我的图:
分片会话English@2x

哈哈,我和你的想法一样。昨晚尝试用 Nginx 代理 proxy,没用。不知道是不是我的配置有问题。
你试成功了吗?

我的虚拟 IP 确实连接到我的所有代理,并且正在轮询


marker-wu:

这是我的照片:
分片会话English@2x

哈哈,我和你的想法一样。昨晚尝试用 Nginx 代理 proxy,没用。不知道是不是我的配置有问题。
你试成功了吗?

我的虚拟 IP 确实连接到我的所有代理,并且正在轮询

能分享一下你的 Nginx 配置吗?


CrackerSuperior:

这是我的照片:
分片会话English@2x

哈哈,我和你的想法一样。昨晚尝试用Nginx代理proxy,没用。不知道是不是我的配置有问题。
你试成功了吗?

我的虚拟 IP 确实连接到我的所有代理,并且正在轮询

能分享一下你的 Nginx 配置吗?

抱歉,我正在使用 LVS。


CrackerSuperior:

如果你也想用 LVS 我可以给你 LVS 的步骤


marker-wu:

如果你也想用 LVS 我可以给你 LVS 的步骤

好的,让我看看


CrackerSuperior:

如果你也想用 LVS 我可以给你 LVS 的步骤

好的,让我看看

LB 服务器配置:

ifconfig network_card_name vip/mask up 
ipvsadm -C 
ipvsadm --set 30 5 60 
ipvsadm -A -t vip:port -s rr -p 60 
ipvsadm -a -t vip:port -r proxy_ip:port -g -w 1 # All代理ip必须匹配
ipvsadm -ln 
ipvsadm -S > /etc/sysconfig/ipvsadm 
systemctl restart ipvsadm

Web 服务器配置:
禁用 ARP 数据包广播:

cat >> /etc/sysctl.conf << EOF 
 net.ipv4.conf.all.arp_ignore = 1 
net.ipv4.conf.all.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf .lo.arp_announce = 2 EOF 
sysctl -p

绑定虚拟 IP 地址,添加静态路由,接收来自 LB 服务器的数据包,并将数据包转发到 LO 网卡进行处理:

ip addr add vip/mask dev lo 
route add -host proxy_ip dev lo


marker-wu:

如果你也想用 LVS 我可以给你 LVS 的步骤

好的,让我看看

LB 服务器配置:

ifconfig network_card_name vip/mask up 
ipvsadm -C 
ipvsadm --set 30 5 60 
ipvsadm -A -t vip:port -s rr -p 60 
ipvsadm -a -t vip:port -r proxy_ip:port -g -w 1 # All代理ip必须匹配
ipvsadm -ln 
ipvsadm -S > /etc/sysconfig/ipvsadm 
systemctl restart ipvsadm

Web 服务器配置:
禁用 ARP 数据包广播:

cat >> /etc/sysctl.conf << EOF 
 net.ipv4.conf.all.arp_ignore = 1 
net.ipv4.conf.all.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf .lo.arp_announce = 2 EOF 
sysctl -p

绑定虚拟 IP 地址,添加静态路由,接收来自 LB 服务器的数据包,并将数据包转发到 LO 网卡进行处理:

ip addr add vip/mask dev lo 
route add -host proxy_ip dev lo

哈哈,谢谢,我用 Haproxy 建了一个,成功了!


为了中文开发者更好的查阅,讨论已经翻译成中文

详情链接点击 这里

1 个赞

大佬,能看看你的haproxy的配置吗

京ICP备2021015875号