浅谈全球化部署

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

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

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

  • 本地化:Localization,通常缩写为“L10N”。将产品或软件针对特定国际语言和文化进行加工,使之符合特定区域市场的过程。真正的本地化要考虑目标区域市场的语言、文化、习俗、特征和标准。通常包括改变软件的书写系统(输入法)、键盘使用、字体、日期、时间和货币格式等。
  • 国际化:Internationalization,通常缩写为“I18N”。使产品或软件具有不同国际市场的普遍适应性,从而无需重新设计就可适应多种语言和文化习俗的过程。真正的国际化要在软件设计和文档开发过程中,使产品或软件的功能和代码设计能处理多种语言和文化习俗,具有良好的本地化能力。
  • 全球化:Globalization,通常缩写为“G11N”。使产品或软件进入全球市场而进行的有关的商务活动。包括正确的国际化设计,本地化集成,以及在全球市场进行的市场推广、销售和支持的全部过程。

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

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

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

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

单机房

image

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

多机房

image

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

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

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

方案分析

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

方案 单机房 多机房
特点

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

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

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

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

全球化部署风险

政策风险

  • 中国网络安全法
    企业必须采取措施保护数据,而且与中国公民或国家安全有关的数据必须存储在中国境内的服务器上。在将大量个人数据转移至境外之前,企业必须接受监管机构评估。
  • 欧洲个人数据保护法
    丹麦、奥地利、挪威、卢森堡、英国、葡萄牙、西班牙、比利时等国都从个人数据保护的角度、相继出台了个人数据保护法,并以明示(如瑞典)或默示(如法国)的方式限制数据的跨境转移。
    欧洲国家选择以个人数据保护为由限制数据的跨境转移,引起了美国企业界和政府的强烈反对。
  • 美国CLOUD法案
    Clarify Lawful Overseas Use of Data(海外数据使用权明确法),旨在解决云计算时代下,美国近年来跨境执法请求引发的数据争端问题

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

image

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

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

一写多读

image

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

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

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

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

按租户分机房写入

image

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

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

技术说明
关于数据延迟

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

猜你喜欢

转载自www.cnblogs.com/airoot/p/10347782.html