请教, 一道需要自有发挥的面试题

2015-03-16 19:46:09 +08:00
 newbieami
看到网上渣浪有这么道题

-----------
假设有一个博客系统,数据库存储采用mysql,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1,你如何设计该系统,以确保其系统高效,稳定的运行?
提示:可以从数据库设计,系统框架,及网络架构方面进行描述,可以自由发挥
----------

自己没有类似的经验, 根本无法自有发挥, 想请教一下有经验的哥们分享一下自己的经验, 多谢

刚注册了一个小马甲, 你懂的
2320 次点击
所在节点    MySQL
3 条回复
joyeblue
2015-03-16 20:52:54 +08:00
尝试着回答下哈。

1. 读写比10:1即读多写少,mysql可以做主备,主写,备读,如有必要可做一主多从
2. 因为是博客系统,具有一定时间的时效性,假定为1个月,则可按月分表
3. 增加缓存,(memcached或者redis) 大部分数据可以走缓存(包括图片,文章内容,用户信息等)
4. 网络层 5000万的访问量,即每秒578左右,用一台nginx做代理层即可,并且做到动态页面,和静态页面代理到后端不同机器上,即动静分离
5. 容灾,针对代理层只有一台nginx,可增加另外一台nginx用keepalived去配置容灾

做到以上5点,基本可以高效和稳定运行。
newbieami
2015-03-16 21:34:54 +08:00
@joyeblue 感谢
doushini
2015-03-16 23:16:56 +08:00
高并发基本都这套路

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

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

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

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

© 2021 V2EX