其他分享
首页 > 其他分享> > 浅谈全球化部署

浅谈全球化部署

作者:互联网

原文:https://blog.csdn.net/wurenhai?t=1

概述
可能源自于公司的跨国业务需求,也可能源自于公司的业务要在海外提供拓展,产生了全球化部署的需求。

讲到全球化,这里稍微说明一下,几个概念:

本文所讲的全球化部署,只涉及全球化过程中,软件的部署及相关的技术能力部分。并不涉及本地化、国际化。

全球化部署的几种形态
也许有人问,互联网本身就是全球可访问的,应用部署后不就是全球范围内可访问的吗?

其实也不尽然,一则是受国家政策影响,如GFW等,导致访问受阻。二则部分应用时时性要求较高,如IM工具等,都需要就近访问。因此全球化部署的需求也就应用而生。

全球化部署有以下几中形态:

单机房

image

如上图所示,单机房部署的情况下,其关键的技术点为:
    1. 智能DNS:就近解析用户的接入点;
    2. 专线:就近接入点与机房间使用专线进行数据加速;

多机房

image

如上图所示,多机房部署的情况下,其关键的技术点为:

    1, 智能DNS:就近解析到相应的机房;

    2, 数据同步:各机房间,采用各种方案进行数据同步(当然,数据同步,以免不了各机房间的专线连接)

方案分析

通过上述的两种方式的分析如下:

方案 单机房 多机房
特点

1. 部署简单,只需要申请智能DNS服务、最近机房代理、及专线即可。
2. 如果海外访问量大,则专线带宽的费用较高。
3. 海外访问的质量受专线带宽的影响较大。

1. 部署复杂,涉及到数据同步相关的技术。
2. 海外访问质量比较稳定,对于即时性要求比较高的业务体验较好。

适用 建议仅做为业务中的管理台等,海外访问量不大的情况下使用。 主业务数据建议都要采用该方案。

PS:这里所提的方案,仅是业务系统的,对于非结构化数据(如文件等)全球化访问可以通过全球CDN进行加速。

全球化部署风险

政策风险

机房中数据同步的几种方式

image

上图为,全球化部署环境下,多机房部署,使用到相关技术:
1. 智能DNS:负责就近机房解析;
2. API网关:负责关键数据读写分离;
3. 数据同步:负责底层数据库的同步;
4. 其它:如消息中心等;

多机房的数据同步
数据同步的方式存在如下几种:

一写多读

image

如上图所示。
1. 主机房,实现完整的读写;
2. 副机房,通过网关将写转到主机房,读在本机房完成;

从业务上来讲,如果写的不太频繁,那么可以考虑使用一写多读的方案。相对来说,现在开源的数据同步方案,对单向的同步都是较好的。

其中,MySql的多数据中心数据同步,可参考:alibaba/otter。

多写多读
完全意义上的多写多读基本上是不实现的。现在的多写多读基本上做的都是一定条件下的多读多写。如otter做的到级别为:按行同步。这里介绍一下按租户隔离方案。

按租户分机房写入

image

如上图所示:
1. 在创建租户时,确认归属机房;
2. 对本机房的租户,读写都在本机房进行;
3. 对非本机机房的租户,读在本机房进行,写对相应的归属机房;

一般情况下,应用需要本地化的,真正需要做的全球化的业务很少。因此通常来说,按租户隔离可满足大多数的业务需求。
- 用户需要做到全球化,后面有空可以单独讲一下用户的全球化;
- 文件也需要做的全球化,上传可以在各机房独立上传,通过CDN做加速下载,找个好点的CDN厂商即可;

技术说明
关于数据延迟

受全球化网络环境的影响,一般数据同步能做的秒级,要求再高的话比较困难。

标签:同步,全球化,浅谈,部署,机房,多读,数据
来源: https://www.cnblogs.com/airoot/p/10347782.html