免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: stay_sun
打印 上一主题 下一主题

[数据库] 异地多活实际可行性有多强?支付宝故障引热议 [复制链接]

论坛徽章:
9
技术图书徽章
日期:2014-10-14 15:48:13数据库技术版块每日发帖之星
日期:2015-06-04 22:20:00数据库技术版块每日发帖之星
日期:2015-06-10 22:20:00数据库技术版块每日发帖之星
日期:2015-06-11 22:20:00数据库技术版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-09-22 06:20:00IT运维版块每日发帖之星
日期:2015-12-08 06:20:00综合交流区版块每日发帖之星
日期:2016-02-02 06:20:00IT运维版块每日发帖之星
日期:2016-07-25 06:20:00
151 [报告]
发表于 2015-06-26 12:25 |只看该作者
回复 146# trafguy


    模型从简到繁。
    一、所有商品分散放到十个数据库,用户只在一个数据库上交易一件商品,这样,系统就是多活的了。
    二、假如一个数据库挂掉了,还分两种情况,一致性和连续性要求,因为这个时候系统要求不是一个了,所以要增加新的节点以满足新的要求。为了保证连续性,需要设置同步备机,为了保证一致性,需要设置审计节点。于是,每个节点因为一致性和连续性要求变成了三个节点,所以三倍冗余是多活系统必须的,也就是说,需要30个数据库。
    三、既然系统天生需要三倍冗余,那我们就好折腾了:每件商品分散放置到两个不同节点,每个交易由另外一个节点进行审计。这样做最可靠,也是延迟最低的方法。实际上两个互为冗余的节点都可以审计对方的交易。理论上二倍冗余就可以实现多活,没有闲置节点,所有节点都走流量,一点不浪费。

    如果觉得三可行,那么多活就是可行的。商品分库存放交易加审计,基本上万无一失。商品分库的信息可以由一组内存数据库提供并行查询服务,速度很快。异地多活是可行的,但是为了保证一致性和业务吞吐能力,中心仍然存在,只不过中心由点状变成了区域状。

    电子支付需要有政府颁发的牌照才可以进行,门槛高得吓人,全中国没几家,个体业者或者小公司没有机会从事此类业务,所以深入研究是没有意义的,了解一点只是为了用于一般的WEB应用,借鉴一下,取法乎上,得乎中。

论坛徽章:
9
技术图书徽章
日期:2014-10-14 15:48:13数据库技术版块每日发帖之星
日期:2015-06-04 22:20:00数据库技术版块每日发帖之星
日期:2015-06-10 22:20:00数据库技术版块每日发帖之星
日期:2015-06-11 22:20:00数据库技术版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-09-22 06:20:00IT运维版块每日发帖之星
日期:2015-12-08 06:20:00综合交流区版块每日发帖之星
日期:2016-02-02 06:20:00IT运维版块每日发帖之星
日期:2016-07-25 06:20:00
152 [报告]
发表于 2015-06-26 13:01 |只看该作者
阿里前天再次出现大范围故障,据说又是因为网络系统故障,这次波及的范围更大,目前还没有人声明光缆被刨,有网友说蓝翔正在期末考试。

不管怎么说,网络都是让阿里纠结的一个难题,既然IP网络不可靠,延迟也高,为什么不换INFINIBAND呢?理论上核心数据应该走存储网络而不是IP网络,INFINIBAND才是正路。

论坛徽章:
9
技术图书徽章
日期:2014-10-14 15:48:13数据库技术版块每日发帖之星
日期:2015-06-04 22:20:00数据库技术版块每日发帖之星
日期:2015-06-10 22:20:00数据库技术版块每日发帖之星
日期:2015-06-11 22:20:00数据库技术版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-09-22 06:20:00IT运维版块每日发帖之星
日期:2015-12-08 06:20:00综合交流区版块每日发帖之星
日期:2016-02-02 06:20:00IT运维版块每日发帖之星
日期:2016-07-25 06:20:00
153 [报告]
发表于 2015-06-26 13:10 |只看该作者
理论上讲,阿里平台不需要强一致,看看淘宝交易模型就明白了。

买家拍下商品,钱打给支付宝,支付宝审计交易,买家收货后,钱再打给卖家。淘宝在这个过程中的角色是交易审计,审计买卖双方的交易,买卖双方达成最终一致,交易即完成,这个过程没有强一致性需求。

强一致性其实是来自于业务的连续性要求,服务中断后继续提供服务,新的服务必须持有原有服务的数据,只有这个时候才需要强一致性,这里的强一致,需要可靠的网络和快速的存储系统作为支持,所以我觉得像淘宝这样的大规模服务,最后还是放到内存盘里跑比较妥当,数据安全性和常规用法并无区别,都是数据放到内存,然后异步存储到永久存储。放到内存里的好处是速度快,出现突发故障时有更快的反应速度,也就是连续性更好。

论坛徽章:
18
2015亚冠之阿尔希拉尔
日期:2015-06-02 09:56:10数据库技术版块每日发帖之星
日期:2016-08-13 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-09-12 06:20:00数据库技术版块每日发帖之星
日期:2015-09-11 06:20:00ChinaUnix专家徽章
日期:2015-06-30 16:29:48ChinaUnix专家徽章
日期:2015-06-30 16:29:342015年中国系统架构师大会
日期:2015-06-29 16:11:28
154 [报告]
发表于 2015-06-26 13:50 |只看该作者
回复 148# trafguy


    其实大家都没有多活  只不过舍弃了一些 一致性  保证性能。我觉得目前银行做的肯定方案比较强制。就是淘宝基本上舍弃了一点数据性,保证性能。
个人观点啊

论坛徽章:
18
2015亚冠之阿尔希拉尔
日期:2015-06-02 09:56:10数据库技术版块每日发帖之星
日期:2016-08-13 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-09-12 06:20:00数据库技术版块每日发帖之星
日期:2015-09-11 06:20:00ChinaUnix专家徽章
日期:2015-06-30 16:29:48ChinaUnix专家徽章
日期:2015-06-30 16:29:342015年中国系统架构师大会
日期:2015-06-29 16:11:28
155 [报告]
发表于 2015-06-26 13:53 |只看该作者
回复 147# fengzhanhai


    我觉得多活还是很难做的,阿里数据库能力很强的  有着很多ace 做了那么多年 也是尽量满足业务  很难的
trafguy 该用户已被删除
156 [报告]
发表于 2015-06-27 08:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
71
子鼠
日期:2015-06-10 14:07:09丑牛
日期:2015-06-10 14:07:10寅虎
日期:2015-06-10 14:07:40卯兔
日期:2015-06-10 14:07:44辰龙
日期:2015-06-10 14:07:44巳蛇
日期:2015-06-10 14:07:46午马
日期:2015-06-10 14:07:47未羊
日期:2015-06-10 14:07:48申猴
日期:2015-06-10 14:07:50酉鸡
日期:2015-06-10 14:07:54戌狗
日期:2015-06-10 14:07:55亥猪
日期:2015-06-10 14:07:57
157 [报告]
发表于 2015-06-29 17:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
158 [报告]
发表于 2015-07-08 22:29 |只看该作者
bbjmmj 发表于 2015-06-04 00:03
说到强一致,一个典型的例子就是RAID1,同一个数据块被分别写入两块硬盘,读的时候,由控制器决定采用哪 ...


==
你果然不是正常人,你知道自己在说什么吗?

论坛徽章:
0
159 [报告]
发表于 2015-07-08 22:59 |只看该作者
本帖最后由 砖头在手 于 2015-07-08 23:00 编辑

回复 150# bbjmmj


    ===

商品不断的在变化,每个账号的钱也在变化。你怎么解决实时交易的多节点同步(也就是强一致性)问题?
通过绕过这个问题来解决这个问题的方法确实听起来很高级,但是你要想像维护路由表一样维护每个地级市的商品目录,你就是脑子坏掉了。

论坛徽章:
9
技术图书徽章
日期:2014-10-14 15:48:13数据库技术版块每日发帖之星
日期:2015-06-04 22:20:00数据库技术版块每日发帖之星
日期:2015-06-10 22:20:00数据库技术版块每日发帖之星
日期:2015-06-11 22:20:00数据库技术版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-09-22 06:20:00IT运维版块每日发帖之星
日期:2015-12-08 06:20:00综合交流区版块每日发帖之星
日期:2016-02-02 06:20:00IT运维版块每日发帖之星
日期:2016-07-25 06:20:00
160 [报告]
发表于 2015-07-11 19:37 |只看该作者
砖头在手 发表于 2015-07-08 22:59
回复 150# bbjmmj


二维平面上的蚂蚁理解不了三维的世界,三维世界里并不存在强一致,只有最终一致,因为有时空的存在~~~
CAP理论讨论的强一致是二维空间里的事,它假定物质世界不存在时空,但这个假定是无法成立的。
很复杂的模型,可能够你琢磨好几年的了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP