搬运君又来搬运优质 Discussions 啦,提问者来源于 GitHub marker-wu
marker-wu:
如何搭建 sharding-proxy 集群?
CrackerSuperior:
我也是这么想的。
我的简单解决方案是将 ZooKeeper 作为配置中心和注册中心。LVS 执行负载均衡。它工作正常。但是不知道是不是真的满足集群需求
CrackerSuperior:
marker-wu:
哈哈,我和你的想法一样。昨晚尝试用 Nginx 代理 proxy,没用。不知道是不是我的配置有问题。
你试成功了吗?
CrackerSuperior:
哈哈,我和你的想法一样。昨晚尝试用 Nginx 代理 proxy,没用。不知道是不是我的配置有问题。
你试成功了吗?
我的虚拟 IP 确实连接到我的所有代理,并且正在轮询
marker-wu:
哈哈,我和你的想法一样。昨晚尝试用 Nginx 代理 proxy,没用。不知道是不是我的配置有问题。
你试成功了吗?我的虚拟 IP 确实连接到我的所有代理,并且正在轮询
能分享一下你的 Nginx 配置吗?
CrackerSuperior:
哈哈,我和你的想法一样。昨晚尝试用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 建了一个,成功了!
为了中文开发者更好的查阅,讨论已经翻译成中文
详情链接点击 这里