美文网首页
《大型网站技术架构演进与性能优化》之全球部署方案[四]

《大型网站技术架构演进与性能优化》之全球部署方案[四]

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2022-05-29 20:01 被阅读0次

    全球化部署需要解决以下几个问题:
    第一,业务核心单元的梳理。这些核心单元必须可以裁剪或添加。
    第二,核心单元必须可以快速部署到国防的机房,最好能够一键部署,即首先要实现单元化部署。
    第三,实现全球数据连通。
    第四,处于研发效率的考虑,部署在全球的业务系统要有良好的定制型和扩展性。

    1.国际化的背景

    国际化一般有两种类型:
    一种是进口业务,像天猫国际和全球购;
    一种是出口业务,像速卖通和海外。
    系统建设存在的两种思路:
    a、将国内的系统完整的复制过去在本地重新搭建一套,实现本地化运营,两边的系统相互独立,数据不通。
    b、只在本地建设个性化的系统,当地的系统和国内数据是打通的,整体还是一套系统。

    2.面临的技术挑战

    业务挑战:一是它必须采用就近访问原则,必须要保证用户体验;二是它不能跨区域进行大流量的并发读写,因为延时比较大,对系统的吞吐量会有致命的影响。
    达到目标:
    a.单元化
    b.一套代码、全球部署
    c.服务本地、数据共享
    d.区域容灾、全球多活
    满足条件:
    a.要能共享和快速复制全球化基础设施
    b.基础业务数据要能互通
    c.业务系统要做抽象、提升可扩展性,能快速支撑业务发展。

    3.单元化

    何为单元化
    所谓单元化就是按照某种维度对数据进行水平拆分,拆分后数据分布在不同地域并且对数据的更新是单写的。
    单元化解决什么问题
    解决物理资源限制的问题
    解决高可用的问题
    解决国际化、全球化业务问题。
    单元化数据分片方案
    a.中心-多单元模式
    考虑到多单元建设的成本问题,不可能也没必要把所有系统都单元化,只需要把最小的核心系统单元化就能达到目的,即大部分业务系统都放在中心单元,再对中心单元的系统做冷备。
    b.多机房 A-A模式
    让同一业务系统在多机房同时提供服务。
    要做到这一点,必须做这两件事:
    第一,按照某个维度对数据进行划分:比如是司机还是乘客;
    第二,解决数据层的异地复制和一致性问题:数据库双向复制和一致性校验。
    c.数据按照什么维度划分
    典型的电商数据一般分为买家数据、卖家数据。
    遵守的规则:
    就近访问、Hash取模、对用户建路由表
    数据漫游问题

    4.数据路由方案

    主键ID做上标识
    设置路由表
    trace透传
    路由模式:
    中心模式,所有接口都回中心单元。
    单元模式,按照单元化原则进行路由的接口,都需要被路由到正确的单元完成。
    混合模式,表示路由原则可以是本单元优先,如果本单元不存在回中心单元调用。

    5.接入层路由

    基于多域名跳转
    基于CDN代理

    6.服务层路由

    需要解决三个问题:哪些服务需要路由;单元内服务如何路由;单元之间的服务如何路由。

    7.数据层路由

    包括三个部分:对数据写入DB做最后一层的正确性校验;做DB之间的数据复制;不同机房之间Cache中的数据的一致性问题。

    8.Sequence ID的冲突问题

    以下几种解决思路:
    基于一个全局统一的Sequence生成器。
    提前预设分段,比如A库用奇数,B库有偶数。
    设置起始值加步长的方式,并且基于数据库表做更新。

    9.异地多活

    当某个单元机器发生故障时,需要把这个单元的用户数据切换到中心或者其他单元,切换过程中,最重要的是保证数据的正确性。因此,必须按照一定的步骤来实现:
    禁写要切换的用户请求。
    送消息的路由规则。
    推送默认的路由规则。
    关闭之前设定的用户禁写规则

    10.多语言问题

    多语言文案的解决方案
    多语言的存储
    实时翻译引擎

    11.多时区问题

    解决方案:
    使用UTC时间
    使用本地时间
    使用同一时区

    12.全球数据同步与数据路由

    数据复制
    各国对数据的保护政策

    13.全球化部署中遇到的坑

    脏数据、路由规则不一致、路由规则延迟生效、服务接口改造遗漏、应用层绕过路由规则直接写数据库、MySQL同步数据错误、数据同步故障、中心-单元网络故障


    推荐阅读:
    <<<《大型网站技术架构演进与性能优化》之分布式改造[一]
    <<<《大型网站技术架构演进与性能优化》之无线时代下的构架演进[二]
    <<<《大型网站技术架构演进与性能优化》之大中台小前台[三]
    <<<《大型网站技术架构演进与性能优化》之代码级优化[五]
    <<<《大型网站技术架构演进与性能优化》之合并部署[六]
    <<<《大型网站技术架构演进与性能优化》之大秒系统的极致优化思路[七]
    <<<《大型网站技术架构演进与性能优化》之资源调度优化[八]
    <<<《大型网站技术架构演进与性能优化》之大型网站的稳定性建设[九]

    相关文章

      网友评论

          本文标题:《大型网站技术架构演进与性能优化》之全球部署方案[四]

          本文链接:https://www.haomeiwen.com/subject/uhxnprtx.html