请教将mysql从web服务器分离的成熟做法

2012-07-25 11:48:33 +08:00
 HowardMei
想扩充web服务器,把mysql剥离,做成DB Server让多个web server共享,同时控制成本(web server用各目标客户区域性价比好的vps),请教大牛几件事情:

1. 如果部分web server离remote mysql server 物理距离较远,有没有方法补救网络传输延时?貌似很多案例都是web & db在一个数据中心的局域网内,这种成本很高,对我意义不大。

2. Amazon RDS/Google Cloud Sql/Xeround/ClearDB 之类 DBaaS 似乎也没用啥特殊方法解决网络延时,好像Web主机也要靠近DB Server,有没有人用过这些产品,自己web服务器在其他地方的。

3. 有什么简单工具和方法能在debian服务器发起对remote db server的benchmark testing,用来同本地mysql比较性能的?


吐槽:如果用amazon ec2 + rds 倒省事了,可计费方式令人蛋疼,I/O API Call 啥都要钱,无法精确估计成本,有么有人晒在线产品用amazon多个服务,运营成本vs访问量的大概数据啊?
4410 次点击
所在节点    Velocity
9 条回复
feiandxs
2012-08-30 00:42:29 +08:00
不在MYSQL上层做个缓存封装起来的话,远程的速度还是够呛,这方面我实际失败经验很多。总是不信邪,折腾几年才彻底死心,必须做封装,或者想办法挪近了。

那些RDS服务也是不怎么提倡使用外网,大部分人使用的时候还是内网使用的。

第三个问题不回答,我也没好的方法,都是自己上去跑本地测试。

amazon的价格其实还好。看起来每样都要收费,但精打细算下来,还是可以的。如果你的服务估计不会有太大的波动,不会需要很快速的补充计算资源,也许可以考虑普通的VPS服务。aws的最大优势还在于弹性,像我的应用基本就是快速复制镜像,用几天或者几小时收工,立马关掉。但aws真的不算很贵。而且这种透明的计费方式只要计算过后没有什么隐藏陷阱,我还是觉得挺好的,会逼着自己做到最大的优化,每份资源尽可能最大化的利用。
eric_q
2012-08-30 00:52:14 +08:00
webserver 和 db server 仍然在同一机房或者距离近的机房,考虑前面套个 CDN 或者自架反向代理吧。否则优化这个延时就会花掉不少成本,最后值不值得还不好评估。
likuku
2012-08-30 00:57:39 +08:00
国内不行,公网延时太大了...以前朋友在某大会上咨询过FaceBook的人,回答是「他们的DB远程同步是直接过公网的,说因为美国网络快速,延迟非常小,所以横跨东西海岸没问题」,听到这说法,当时就呆了。
lanisle
2012-08-30 03:18:00 +08:00
为何不迁移web服务器节省成本呢?
Livid
2012-08-30 03:19:58 +08:00
@likuku 从洛杉矶到纽约,通常可以稳定在 100ms 左右。
rhwood
2012-08-30 09:35:35 +08:00
放在同一个内网里面是最经济可靠的解决方法。否则不稳定的带宽和飙升的流量会让你欲哭无泪。
HowardMei
2012-08-30 10:21:21 +08:00
@feiandxs 嗯,有向aws迁移的打算。本来搞独立DB Server就是为了减少横向扩充服务器带来的维护成本,特别是人力。但从架构上看,网络延时问题尚无成熟解决方案,代价会更高,这里就是云计算的优势了。
HowardMei
2012-08-30 11:14:50 +08:00
@feiandxs @eric_q @likuku @lanisle @Livid @rhwood

现在觉得 http://aws.amazon.com/rds/mysql/#features 之类的服务远比EC2吸引人,而且无法替代,Automated Backups (to any second), Multi-AZ Deployments, Read Replicas 这些企业级特性,自己很难做到同等性价比(特别是和Reserved Instance比),算算时间和人力成本就要头晕了,Linode VPS ---> Amazaon AWS 或者 直接AWS 看来是最佳路径了,可靠性要求稍微高点,独服的性价比就不明显了,这里面的隐藏成本多高大概只有像@feiandxs 折腾后才清楚吧。

看了下阿里云的RDS,还有很长的路要走,跟自维护DB Server没拉开明显差距。
dongbeta
2012-08-30 12:14:46 +08:00
在一个数据节点 买两个VPS 是否就可以在一个局域网呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/43356

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX