分布式
衣舞晨风
不预测,只应对
展开
-
OceanBase 架构初探
1、设计思路OceanBase的目标是支持数百TB的数据量以及数十万TPS、数百万QPS的访问量,无论是数据量还是访问量,即使采用非常昂贵的小型机甚至是大型机,单台关系数据库系统都无法承受。一种常见的做法是根据业务特点对数据库进行水平拆分,通常的做法是根据某个业务字段(通常取用户编号,user_id)哈希后取模,根据取模的结果将数据分布到不同的数据库服务器上,客户端请求通过数据库中间层路由到不...原创 2018-11-13 08:44:14 · 24799 阅读 · 8 评论 -
OceanBase 选举
1、RootServer主备每个集群一般部署一主一备两台RootServer,主备之间数据强同步,即所有的操作都需要首先同步到备机,接着修改主机,最后才能返回操作成功。RootServer主备之间需要同步的数据包括:RootTable中记录的tablet分布信息、ChunkServerManager中记录的ChunkServer机器变化信息以及UpdateServer机器信息。Tablet复制...原创 2018-11-13 08:59:54 · 855 阅读 · 0 评论 -
十问 TiDB :关于架构设计的一些思考
“我希望能够把 TiDB 的设计的一些理念能够更好的传达给大家,相信大家理解了背后原因后,就能够把 TiDB 用的更好。”做 TiDB 的缘起是从思考一个问题开始的:为什么在数据库领域有这么多永远也躲不开的坑?从 2015 年我们写下第一行代码,3 年以来我们迎面遇到无数个问题,一边思考一边做,尽量用最小的代价来快速奔跑。作为一个开源项目,TiDB 是我们基础架构工程师和社区一起努力的结果...转载 2018-11-17 07:10:49 · 522 阅读 · 0 评论 -
分布式系统的Raft算法
过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。转载 2018-09-07 08:56:05 · 386 阅读 · 0 评论 -
分布式缓存的一致性Hash算法
一致性哈希算法一致性Hash算法通过一个叫做一致性Hash环的数据结构实现Key到缓存服务器的Hash映射,如图6.11所示:算法过程如下:先构造一个长度为2^32的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[0, 2^32-1])将缓存服务器节点放置在这个Hash环上,然后根据需要缓存的数据的Key值计算得到其Hash值(其分布也为[0, 2^32-1])...原创 2018-12-20 12:41:06 · 690 阅读 · 0 评论 -
Databus for MySQL
IntroductionA frequently asked question on the Databus open source mailing list is about the possibility of capturing changes in MySQL through Databus. Below, we describe a proof-of-concept implement...转载 2018-12-31 16:32:44 · 1164 阅读 · 0 评论 -
异地多活高可用架构设计实践与思考
一、引异地多活是近几年比较热门的一个话题,那么在实际业务中什么时候需要去做这件事?如何去做?做的时候需要考虑什么?1、何时去做?取决于以下几个方面:业务发展机房服务可用性技术积淀2、如何做?目前在网上搜索到的异地多活方案来看,基本都是阿里、饿了么、京东、微博这些互联网大厂的实践,这些大厂的实践有一个共同点就是:大量的自研组件,来做相关的数据同步,业务切分等等,那么,对于很多传统...原创 2019-01-26 10:47:05 · 24461 阅读 · 0 评论 -
阿里开源分布式事务解决方案 Fescar 全解析
广为人知的阿里分布式事务解决方案:GTS(Global Transaction Service),已正式推出开源版本,取名为“Fescar”,希望帮助业界解决微服务架构下的分布式事务问题,今天我们一起来深入了解。FESCAR on GitHubhttps://github.com/alibaba/fescar微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、...转载 2019-03-01 20:01:43 · 571 阅读 · 1 评论