问题描述
以往我们买服务器,会把Redis和MySQL安装到本运行代码的服务器中,这样的情况可能是不好维护,另外出现问题可能损失很大。现在阿里云都提倡使用Redis和MySQL他们独立的服务器,也就是说自己的代码放在一台服务器,额外购买数据库服务器,好处理阿里云提供完整的维护工具和手段,可能性能也更好,可是这样是否意味着代码服务器每个数据库增删改查都得连接一遍另外的一台MySQL服务器呢。
但是据测试,从自己代码服务器发出一个查询请求到另一台MySQL服务器,先不说数据库本身的查询操作耗时,就是跟另一台服务器的一来一回的耗时,可能都得20-30ms左右了,如果一个复杂一点的请求,导致有10来个数据库的增删改查,这个过程是否意味着两台服务器之间需要进行多次通信耗时之后,才能返回给客户端,这么一来一回,一个请求花费几百毫秒就是跑不掉的了。
如果要在二者做出选择,应该给予什么样的理由呢,也就说,双方的优缺点从更熟悉的人的角度理解,该怎么权衡呢,感谢大家的回答。
你是不是跨区或者跨机房了……一个区的话,网络延迟不会20-30的,去掉个零都嫌他慢了……