当前位置:首页 > 科技  > 软件

我们一起聊聊业务定制型异地多活架构设计

来源: 责编: 时间:2023-11-28 09:36:22 162观看
导读大道至简图片左图展示了一个强调一致性(C)和分区容忍性(P)的系统。在这种系统中,当网络分区(Partition)发生错误时,系统可能会拒绝操作以保持数据的一致性,牺牲了一部分可用性。例如,如果节点N1和N2无法通信(分区容忍性问题),系统

大道至简

图片图片KbQ28资讯网——每日最新资讯28at.com

左图展示了一个强调一致性(C)和分区容忍性(P)的系统。在这种系统中,当网络分区(Partition)发生错误时,系统可能会拒绝操作以保持数据的一致性,牺牲了一部分可用性。例如,如果节点N1和N2无法通信(分区容忍性问题),系统可能会选择停止操作,确保任何读取都是一致的,即使这意味着某些操作不能完成。KbQ28资讯网——每日最新资讯28at.com

右图展示的是一个强调可用性(A)和分区容忍性(P)的系统。在这种系统中,即使发生了分区错误,每个节点(N1和N2)仍会尽力响应用户的请求,保证服务的可用性。这可能导致数据的不一致,因为两个分区可能会独立响应并导致数据状态不同步。KbQ28资讯网——每日最新资讯28at.com

异地多活架构设计的本质是平衡CAP定理中的“可用性(A)”和“分区容忍性(P)”,而通常在必要的情况下对“一致性(C)”做出一定程度的妥协。KbQ28资讯网——每日最新资讯28at.com

大道至深 - CAP

粒度:KbQ28资讯网——每日最新资讯28at.com

CAP 关注的粒度是数据,而不是系统,需要根据不同业务的数据特点来设计KbQ28资讯网——每日最新资讯28at.com

异地多活。KbQ28资讯网——每日最新资讯28at.com

延迟:KbQ28资讯网——每日最新资讯28at.com

CAP 是忽略网络延迟的 ,但工程落地不可能做到零延迟。KbQ28资讯网——每日最新资讯28at.com

分区容忍:KbQ28资讯网——每日最新资讯28at.com

C和A只能取1个是在发生分区的时候,正常运行情况下,可以同时满足 CA。KbQ28资讯网——每日最新资讯28at.com

补救:KbQ28资讯网——每日最新资讯28at.com

放弃 != 无为,需要为分区恢复后做准备,包括人工修复数据。KbQ28资讯网——每日最新资讯28at.com

原则1 - 只保证核心业务

图片图片KbQ28资讯网——每日最新资讯28at.com

不同业务的数据特性不同,无法全部做到异地多活。KbQ28资讯网——每日最新资讯28at.com

原则2 - 只能做到最终一致性

图片图片KbQ28资讯网——每日最新资讯28at.com

复制肯定有时间窗,抛弃实时一致性的幻想KbQ28资讯网——每日最新资讯28at.com

原则3 - 只能保证绝大部分用户

图片图片KbQ28资讯网——每日最新资讯28at.com

异地多活设计步骤

1.业务分级:

将业务按照某个维度进行优先级排序,优先保证TOP3 业务异地多活。KbQ28资讯网——每日最新资讯28at.com

2.数据分类:

分析 TOP3 中的每个业务的关键数据特点,将数据分类。KbQ28资讯网——每日最新资讯28at.com

3.数据同步

针对不同的数据分类设计不同的数据同步方式。KbQ28资讯网——每日最新资讯28at.com

4.异常处理

针对极端异常的情况,考虑如何处理,可以是技术手段或非技术手段。KbQ28资讯网——每日最新资讯28at.com

步骤1 – 业务分级

访问量:KbQ28资讯网——每日最新资讯28at.com

登录 > 注册 > 修改密码KbQ28资讯网——每日最新资讯28at.com

核心场景:KbQ28资讯网——每日最新资讯28at.com

聊天 > 朋友圈 > 摇一摇KbQ28资讯网——每日最新资讯28at.com

收入来源:KbQ28资讯网——每日最新资讯28at.com

订单 > 搜索 > 编辑KbQ28资讯网——每日最新资讯28at.com

步骤2 – 数据分类

数据的修改量:KbQ28资讯网——每日最新资讯28at.com

数据被修改的数量和频率,包括新增、删除、修改。KbQ28资讯网——每日最新资讯28at.com

一致性:KbQ28资讯网——每日最新资讯28at.com

数据的一致性要求,例如:强一致性(余额、库存)、最终一致性(动态、兴趣)。KbQ28资讯网——每日最新资讯28at.com

唯一性:KbQ28资讯网——每日最新资讯28at.com

数据的唯一性要求,例如:全局唯一(用户 ID)、可重复(昵称)KbQ28资讯网——每日最新资讯28at.com

可丢失性:KbQ28资讯网——每日最新资讯28at.com

数据是否可丢失,例如:不可丢失(账户余额)、可丢失(微博、密码)。KbQ28资讯网——每日最新资讯28at.com

可恢复性:KbQ28资讯网——每日最新资讯28at.com

数据是否可恢复,例如:用户恢复(微博)、系统提供恢复(密码找回)、内部恢复(例如编辑和运营重发)。KbQ28资讯网——每日最新资讯28at.com

步骤3 – 数据同步

图片图片KbQ28资讯网——每日最新资讯28at.com

多管齐下,“不择手段”,不要局限于存储系统同步!KbQ28资讯网——每日最新资讯28at.com

步骤3 – 数据同步技巧

图片KbQ28资讯网——每日最新资讯28at.com

步骤4 –异常处理

业务兼容:KbQ28资讯网——每日最新资讯28at.com

体验不好 优于 无法体验。KbQ28资讯网——每日最新资讯28at.com

1. 数据短时间不一致:业务有损,例如微博、朋友圈;KbQ28资讯网——每日最新资讯28at.com

2. 数据无法获取:转账申请,支付核对中。KbQ28资讯网——每日最新资讯28at.com

事后补偿:KbQ28资讯网——每日最新资讯28at.com

少量用户损失,用钱解决。KbQ28资讯网——每日最新资讯28at.com

1. 礼包、红包;KbQ28资讯网——每日最新资讯28at.com

2. 礼物、物品(暴雪炉石回档补偿);KbQ28资讯网——每日最新资讯28at.com

3. 保险赔偿。KbQ28资讯网——每日最新资讯28at.com

人工修正:KbQ28资讯网——每日最新资讯28at.com

尽力而为,减少损失。KbQ28资讯网——每日最新资讯28at.com

1. 人工订正数据,达到最终一致性;KbQ28资讯网——每日最新资讯28at.com

2. 重要事情说三遍:日志、日志、日志。KbQ28资讯网——每日最新资讯28at.com

5大技巧1 - 消息队列同步

图片KbQ28资讯网——每日最新资讯28at.com

适合全局唯一的数据,因为可以覆盖;不适合余额之类的数据,因为数据修改无法做到幂等性。KbQ28资讯网——每日最新资讯28at.com

5大技巧2 - 库存拆分

图片KbQ28资讯网——每日最新资讯28at.com

余额这么拆分可以吗?KbQ28资讯网——每日最新资讯28at.com

通常会有一个中央权威的账户管理系统来处理余额,而不是在各个数据中心分别处理。这样可以简化一致性和同步的复杂性,尽管这可能牺牲一些响应时间和可用性KbQ28资讯网——每日最新资讯28at.com

5大技巧3 - 事务合并

图片图片KbQ28资讯网——每日最新资讯28at.com

例如:游戏玩家异地充值100,消费60,即使 IDC-B 的业务服务器不知道玩家的实际余额(在 IDC-A 的数据库中),业务也是可以继续处理的,具体实现逻辑如下:KbQ28资讯网——每日最新资讯28at.com

1. 正常情况下通过数据库同步来同步余额,对应上图的 IDC-A 到 IDC-B 的“余额同步”;KbQ28资讯网——每日最新资讯28at.com

2. 异常情况下,IDC-A 机房挂掉,余额同步中断,可能会导致 IDC-A 和 IDC-B 的数据不同步,例如图中两个余额表的余额,IDC-A 是 30,IDC-B 是65;KbQ28资讯网——每日最新资讯28at.com

3. 玩家到 IDC-B 想消费60块,无论 IDC-B 的余额表中是大于还是小于60,都不能直接消费,因为无法判断这个余额数据是否一致;KbQ28资讯网——每日最新资讯28at.com

4. 玩家到 IDC-B 先充值100块,再消费60块,无论 IDC-B 的余额表中是大于还是小于60,都是允许的,此时 IDC-B 在临时事务表中记录两个事务;KbQ28资讯网——每日最新资讯28at.com

5. IDC-A 恢复后,IDC-B 将临时事务表中的事务发给 IDC-A,IDC-A 进行合并,合并后的真实余额是70元,然后再通过“余额同步”这个通道将70元余额同步给 IDC-B 的余额表。KbQ28资讯网——每日最新资讯28at.com

5大技巧4 - 实时改异步

图片图片KbQ28资讯网——每日最新资讯28at.com

5大技巧5 - 适当容忍

图片图片KbQ28资讯网——每日最新资讯28at.com

业务上稍微放开一些约束,例如:电话会议系统允许欠费也能发起会议。KbQ28资讯网——每日最新资讯28at.com

总结:KbQ28资讯网——每日最新资讯28at.com

图片图片KbQ28资讯网——每日最新资讯28at.com

KbQ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-34651-0.html我们一起聊聊业务定制型异地多活架构设计

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 同步与异步:程序执行方式的不同之处

下一篇: 双向绑定与单向数据流之争,Solid会取代React吗

标签:
  • 热门焦点
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 为什么你不应该使用Div作为可点击元素

    为什么你不应该使用Div作为可点击元素

    按钮是为任何网络应用程序提供交互性的最常见方式。但我们经常倾向于使用其他HTML元素,如 div span 等作为 clickable 元素。但通过这样做,我们错过了许多内置浏览器的功能。
  • 梁柱接棒两年,腾讯音乐闯出新路子

    梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 猿辅导与新东方的两种“归途”

    猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • 小米MIX Fold 3下月亮相:今年唯一无短板的全能折叠屏

    小米MIX Fold 3下月亮相:今年唯一无短板的全能折叠屏

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都有新的进展,其中荣耀、三星都已陆续发布了最新的折叠屏旗舰,尤其号荣耀Magi
  • 机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    7月29日消息,根据市场调查机构Counterpoint Research公布的最新报告,2023年第2季度中国智能手机销量同比下降4%,创新自2014年以来第2季度销量新低。报
  • Android 14发布:首批适配机型公布

    Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
Top