使用HAProxy对mongos进行负载后PHP报错-创新互联-成都快上网建站

使用HAProxy对mongos进行负载后PHP报错-创新互联

使用HAProxy对mongos进行负载均衡时,PHP总是报连接错误,192.168.100.200这个IP是两个mongos的VIP。

创新互联专注于企业成都全网营销推广、网站重做改版、代县网站定制设计、自适应品牌网站建设、HTML5商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为代县等各大城市提供网站开发制作服务。

Failed to connect to: 192.168.100.200:28018: send_package: error reading from socket: The socket is closed

经过多次测试仍然无法解决连接报错的问题。于是和开发同事讨论改用PHP程序去连接多个mongos的做法,当一个mongos连接不上,就去连接另一个mongos

错误写法

$server = 'mongodb://10.10.41.25:38018/'.$config['db_name'].',10.10.41.25:28018/'.$config['db_name'].',10.10.41.25:48018/'.$config['db_name'];

正确写法

$server = 'mongodb://192.168.100.74:28018,192.168.100.75:28018/'.$config['db_name'];

使用MongoDB2.4.6作集群的时候,当后端分片的MongoDB实例挂掉后,客户端经常报Mongos连接错误。这个是由于版本的问题,升级到2.6.8后就没有这个问题了。

参考资料:

http://php.net/manual/zh/mongo.connecting.mongos.php

https://jira.mongodb.org/browse/SERVER-13352

http://stackoverflow.com/questions/15576766/cannot-upgrade-sharded-mongodb-or-stop-the-balancer

http://docs.mongodb.org/manual/release-notes/2.6-upgrade/

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:使用HAProxy对mongos进行负载后PHP报错-创新互联
新闻来源:http://kswjz.com/article/ccsiio.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流