练习负载均衡的踩坑之路 2

之前在本地虚拟机 用docker模拟了负载均衡,还算比较顺利(博客:尝试用 docker 模拟负载均衡完整版(踩着石头过河)

然后就想着在实际中应用一下,正好之前自己有个练手的小程序项目。

找朋友借了2台学生服务器(9.9一个月那种)开始磨刀霍霍向猪羊!

今天继续!

我目前的资源有

一台 1H1G的服务器用来做负载均衡(master服务器)

我自己的1H2G的服务器用来当node1节点服务器(node1服务器)

还有一台1H1G的服务器用来当node2节点服务器(node2服务器)

Master服务器只装了nginx 用来做负载均衡的转发

Node1 搭建了一套dnmp环境(docker+nginx+mysql+php7.2)

Node2 搭建了一套一样的dnmp环境(docker+nginx+mysql+php7.2)

(dnmp环境可参考博客:终于能用 Docker 搭建一套自己的环境了(dnmp)

然后开始了我的踩坑之旅

昨天开始踩坑遇到了一些疑问和问题记录在此(博客:练习负载均衡时遇到的一些问题,求解答

今天遇到的问题

1、 我在node1远程连接node2中的mysql 秒连,查询的时候也是特别快,可到了项目中不知道怎么回事特别慢 10s左右吧,于是开始百度搜到的大部分答案都是在my.cnf中[mysqld]下面加一行skip-name-resolve,说是什么和DNS什么什么什么一堆我不太懂的。总之 先加了 然后重启mysql,继续试,发现还是不行。。

2、 我去查询慢的那个代码里打断点,代码如下

图片

先在查询$music的时候处输出了$music;查询挺快基本上秒查,发现到了使用map方法的时候一下子慢了,我就把map方法里的表查询挨个注释,把User和Likes那两个查询注释之后速度就快了好多, 然后我就特别纳闷为什么本地数据访问的时候那么快,从node1连接node2的时候查询就那么慢,该加的索引也加了,而且在本地远程连接node2的时候也没延迟,怎么到这就慢了。难道是我服务器配置太低的原因?

于是我换了种方式

在阿里云买了6个月的MySQL服务(好像第一次买比较便宜,个人版的6个月10元)

把我的数据倒了过去,然后node1和node2读写全部用这台MySQL,发现各种超时,我擦!!!

图片

后来发现我写错了我填写DB_HOST的时候填的是内网地址!!!!这里请注意!!

然后申请开通外网地址把DB_HOST改了,继续访问。。速度没什么影响和访问本地数据库速度是一样的。

然后把我的结构做了如下修改

图片

Node1和node2修改为只读做从,用新买的MySQL写做主,然后在做主从复制 。。。。。

Ok 问题解决了

用阿里云的MySQL做主的时候(怎么做从我还不知道,有兴趣的可以百度一下)

创建一个主从复制的用户

图片
然后创建用户

图片

Ok 剩下的我是参考的这篇文章(https://blog.csdn.net/m0_37675643/article/...

光看文章是没有用的 ,要动手实践起来才能真正明白

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!