免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4229 | 回复: 9
打印 上一主题 下一主题

cu这样的大型论坛 数据库是怎么架设的? [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-02-09 14:40 |只看该作者 |倒序浏览
像cu这样的大型论坛,数据库是一个什么样的模式呢?
如果 我用mysql的话,想在不同的地方部署(不同的机房或是地区),那么如何保证数据的一致性呢?

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
2 [报告]
发表于 2015-02-11 14:21 |只看该作者
感觉这个话题很好,有请茂哥出面解答这位同学的疑问

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2015-02-11 17:16 |只看该作者
是不是版主都不混cu了?

论坛徽章:
4
双子座
日期:2014-08-28 10:08:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:112015年亚洲杯之阿联酋
日期:2015-03-13 03:25:15
4 [报告]
发表于 2015-02-13 09:18 |只看该作者
这个问题很有意思,如果你又2个机房,物理距离很近,那么你可以主备,主主都可以,同步问题不大

如果是2个很远的机房,延迟较大,一致性要求较高怎么办?

参考之前某厂电商业务,就是一个主库读写,从库可读,但是提供对一致性要求不高的业务。我所了解国内大多的互联网公司也都是这个水平

至于CU这样的,其实对一致性要求不高,相对一些金融业务来说,所以可以更随意一些

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2015-02-13 12:31 |只看该作者
回复 4# weishuo1999


    参考之前某厂电商业务,就是一个主库读写,从库可读,

如果距离较远 从库同步主库时,延迟会很高啊,电商对数据一致性 要求应该很高啊

论坛徽章:
4
双子座
日期:2014-08-28 10:08:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:112015年亚洲杯之阿联酋
日期:2015-03-13 03:25:15
6 [报告]
发表于 2015-02-13 12:40 |只看该作者
所以接口一般分几种
1.写接口
2.读接口(低延迟)
3.读接口(可以接受一定延迟)
4.offline的接口

一般1,2都是直接在master上读
3这种情况会在slave上读
4这类可选择的方案更多了
回复 5# greysky-zfj


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2015-02-13 14:09 |只看该作者
回复 6# weishuo1999


    你说 写接口 的意思 是同时写到 不同机房的数据库吗?

第四种,能详细说说吗或是给个资料参考一下。谢谢!

论坛徽章:
4
双子座
日期:2014-08-28 10:08:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:112015年亚洲杯之阿联酋
日期:2015-03-13 03:25:15
8 [报告]
发表于 2015-02-13 15:22 |只看该作者
写接口一般就写一个机房里面的数据库,也就是说同时只有一份在写   其他的都是读

第四种情况,比如从搜索引擎拿数据,从消息队列,从磁盘上拿数据等,反正不要求性能,也不要求一致性回复 7# greysky-zfj


   

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
9 [报告]
发表于 2015-02-19 15:05 |只看该作者
本帖最后由 lyhabc 于 2015-02-19 15:06 编辑
weishuo1999 发表于 2015-02-13 12:40
所以接口一般分几种
1.写接口
2.读接口(低延迟)

这种方法,实际上就是DAL方式
必需有一个数据访问层(DAL)支持,DB层仅是一个双MASTER,应用访问DAL即可
当然维护成本也是比较高的

论坛徽章:
0
10 [报告]
发表于 2015-03-26 11:17 |只看该作者
异地机房其实要考虑很多的,比如网络,国内的南北网络问题,服务器本身的压力,同步的压力等。
如果采用mysql主从模式的话,同一个业务最终数据是要到一个节点的,可以考虑将能够接受适当延时的读取操作放在从库上执行。
但是写入和实时性要求高的读操作肯定是要在主库操作了,当然如果业务可以,可以考虑双主双写入的情况,按不同应用场景而定。
回复 1# greysky-zfj


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP