18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 《大型网站技术架构演进与性能优化》之全球部署方案[四]

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

时间:2023-04-18 23:34:01 | 来源:网站运营

时间:2023-04-18 23:34:01 来源:网站运营

《大型网站技术架构演进与性能优化》之全球部署方案[四]:苏黎世联邦理工大学一周讲完的python,整整300集,爱因斯坦的母校 2022最新版,学完即可就业!进来白嫖,学不会我退出IT界~_哔哩哔哩_bilibili

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

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同步数据错误、数据同步故障、中心-单元网络故障

关键词:部署,方案,性能,技术,演进,大型

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭