浅谈全球化部署(二)
接上文,讲到多机房中的方案,本文继续说明多机房中数据同步的几中方式。
上图为,全球化部署环境下,多机房部署,使用到相关技术:
1. 智能DNS:负责就近机房解析;
2. API网关:负责关键数据读写分离;
3. 数据同步:负责底层数据库的同步;
4. 其它:如消息中心等;
多机房的数据同步
数据同步的方式存在如下几种:
一写多读

如上图所示。
1. 主机房,实现完整的读写;
2. 副机房,通过网关将写转到主机房,读在本机房完成;
从业务上来讲,如果写的不太频繁,那么可以考虑使用一写多读的方案。相对来说,现在开源的数据同步方案,对单向的同步都是较好的。
其中,MySql的多数据中心数据同步,可参考:alibaba/otter。
多写多读
完全意义上的多写多读基本上是不实现的。现在的多写多读基本上做的都是一定条件下的多读多写。如otter做的到级别为:按行同步。这里介绍一下按租户隔离方案。
按租户分机房写入
如上图所示:
1. 在创建租户时,确认归属机房;
2. 对本机房的租户,读写都在本机房进行;
3. 对非本机机房的租户,读在本机房进行,写对相应的归属机房;
一般情况下,应用需要本地化的,真正需要做的全球化的业务很少。因此通常来说,按租户隔离可满足大多数的业务需求。
- 用户需要做到全球化,后面有空可以单独讲一下用户的全球化;
- 文件也需要做的全球化,上传可以在各机房独立上传,通过CDN做加速下载,找个好点的CDN厂商即可;
技术说明
关于数据延迟
受全球化网络环境的影响,一般数据同步能做的秒级,要求再高的话比较困难。
浅谈全球化部署(二)相关推荐
- 浅谈全球化部署(一)
浅谈全球化部署 概述 可能源自于公司的跨国业务需求,也可能源自于公司的业务要在海外提供拓展,产生了全球化部署的需求. 讲到全球化,这里稍微说明一下,几个概念: 本地化:Localization,通常缩 ...
- catia三维轴承_浅谈基于CATIA二次开发的单排四点接触球轴承三维设计论文
浅谈基于CATIA二次开发的单排四点接触球轴承三维设计论文 一.概述 单排四点接触球转盘轴承是一种能够同时承受较大轴向负荷.径向负荷和倾覆力矩等综合载荷,集支承.旋转.传动.固定等多种功能于一身的特殊 ...
- 浅谈领导力之二 - 授权与放权
前文回顾 浅谈关于领导力之一 - 识人之能 我见过非常多优秀的草根创业者,能力极为出众,自己可以搞定很多事情,但是做公司却很难做大,很多人卡在这个环节上,经常抱怨,没有人才啊,你看招来的都笨死了,是的 ...
- 浅谈通信编程(二)--如何分离通信物理接口和应用程序
如何分离通信物理接口和应用程序<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
- 浅谈python_浅谈Python(二)
一.Python算术运算符 以下假设变量a为10,变量b为21: 运算符描述实例 + 加 -- 两个对象相加 a + b 输出结果 31 - 减 -- 得到负数或是一个数减去另一个数 a - b 输出 ...
- hdfs安全模式退出_浅谈HDFS(二)之NameNode与SecondaryNameNode
NN与2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 假设存储在NameNode节点的硬盘中,因为经常需要随机访问和响应客户请求,必然效率太低,所以是存储在内存中的 但是,如果存储在 ...
- 浅谈数据库设计二三事
作为程序员,程序设计前的数据库设计非常重要,这将直接关系到紧接着的代码编写工作,这里谈谈有关数据库设计过程中的一些细节问题. 一.数据表主键的字段选择(ID,Code,Number) ID(编号)一般 ...
- go与JAVA差异_20190312_浅谈gojava差异(二)
第二节内容概览 循环(for.switch) 多值返回 defer & finally init(go) 与默认构造函数(java) 常量.静态变量(const 与 static final) ...
- mysql 变量 数据类型_浅谈mysql(二)数据类型
//我...我才是不是傲娇呢 //如有问题还请多多指教.上回我们说到我们如何使用MySQL,关键是要看它的用途.用途衍生语句.之后文章的思路,也是如此,从用途出发,然后再到语句. 那么,我们先问几个问 ...
最新文章
- 微服务最佳实践:MSE 微服务引擎
- HDU - 3667 Hotel(线段树+区间合并)
- Heritrix 3.1.0 源码解析(六)
- Linux命令行编辑快捷键
- 第五课 机器学习中的特征工程
- 摇杆怎么映射到键盘_[评测]YAMAHA PSRSX900:雅马哈升级幅度最大的高端编曲键盘键盘中国原创评测...
- zookeeper、hadoop、hbase单机伪分布式环境搭建(虚拟机vmware)
- Android 系统(95)---Android build.prop参数详解
- ZeroClipboard实现复制
- 【Linux初始化init系统】
- php开发oa系统的插件下载不了,什么是oa系统软件
- 【科普】数字货币的基石--区块链
- Windows10解决耳机被识别为扬声器问题
- 优秀领导者必须具备的4大特质
- 成都java开发学习要多久
- C++ day24 继承(四)抽象基类,纯虚函数,protected
- 太空射击 第07课: 添加图形
- 链圈百家,IT词话:BTA 2018先锋资源集锦(另附PPT下载)
- yum 命令使用详解
- redhat系列镜像下载