加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

腾讯重磅开源DCache,漫衍式NoSQL存储体系

发布时间:2019-04-25 16:40:19 所属栏目:编程 来源:开源中国
导读:当你在电商平台秒杀商品可能在交际收集刷热点话题的时辰,可以很明明感觉到当前收集数据流量的可怕,几十万商品刚开抢,一秒都不到就售罄;哪个大明星出轨的动静一呈现,刹时阅读与转发次数可以到达上亿。作为终端用户的我们也许会思索,处事体系是怎么在这
副问题[/!--empirenews.page--]

腾讯重磅开源DCache,漫衍式NoSQL存储体系

当你在电商平台秒杀商品可能在交际收集刷热点话题的时辰,可以很明明感觉到当前收集数据流量的可怕,几十万商品刚开抢,一秒都不到就售罄;哪个大明星出轨的动静一呈现,刹时阅读与转发次数可以到达上亿。作为终端用户的我们也许会思索,处事体系是怎么在这样严厉的流量情形中存活下来的。

着实,处事体系的架构中有很多奇妙的计划来应对这样的题目,而在这个中,凡是体系城市架设缓存体系,用以缓解海量会见哀求与数据带来的攻击,实现高机能会见需求。

同时,跟着微处事与云等技能的成长,漫衍式架构的需求变得越来越广泛,再加上本日 Web 上的数据范例已经不再单一,并且数据量也呈发作式增添,传统的布局化存储方案已经跟不上脚步,对数据库的 SQL 操纵不再满意要求,于是 NoSQL 呈现。

将这几种技能方案整合起来,我们可以计划出漫衍式 NoSQL 缓存体系,当前这一类体系有一些较量强盛的开源方案,好比 Memcached 和 Redis,它们对整个处事体系的可用性、可扩展性与机能起到至关重要的浸染。

传闻最近腾讯开源了一个漫衍式 NoSQL 存储体系 DCache,它的典范应用场景就在漫衍式缓存。按照官方先容,DCache 基于 TARS 微处事管理方案,它支持 k-v、k-k-row、list、set 与 zset 多种数据布局,数据基于内存存储,同时支持后接 DB 实现数据耐久化。DCache 具备快速程度扩展手段,同时配套有 Web 运维平台实现高效的运维操纵。

我们第一时刻采访了 DCache 研发团队成员山宝银,但愿对项目标研发配景与相干技能细节有进一步相识。

当前开源的漫衍式缓存体系中,Memcached 与 Redis 是很广泛的选择,腾讯此次为什么要本身造一个体系呢?

山宝银先容,固然 Memcached 与 Redis 自己都拥有极其强盛的手段,可是存在运维坚苦、缺乏集群化方案与无法应对微处事趋势带来的挑衅等题目。

举个例子,当前微处事是一大趋势,各人都在说要做微处事,它可以让计较与存储之间解耦,实现轻量级通讯。微处事不必要打点生命同期,而作为体系组件的 Redis 则否则,“我们做处事架构计划时但愿把逻辑层和数据层分分开来,可是假如行使 Redis 做缓存,缓存与 DB 之间的数据同等性题目,以及缓存不掷中怎样办理等题目都必要行使者在营业逻辑中做相干处理赏罚,这增进了必然的伟大度和难度,也增进了逻辑层和数据层的耦合度。”

另一方面,山宝银先容,早先面临海量数据和高机能会见需求,腾讯内部各个团队着实都开拓了各自的缓存体系,然而这些体系之间协议不同一、处事模子多样化、不具有通用性容错、扩展手段也东倒西歪,以是团队就着手研发了 DCache 这一套通用 Cache 体系,但愿整体去办理营业、开拓、运维和监控面对的各类挑衅。

以是也可以看到,今朝 DCache 已经应用于腾讯内部多个营业上,包罗 QQ 赏识器、应用宝、腾讯舆图、腾讯电脑管家、手机管家与腾讯游戏等。

SQL、漫衍式与 NoSQL 的弃取

SQL 是指数据库的布局化查询说话,它是数据库的操纵呼吁集,传统的相关型数据库都行使尺度的 SQL 语句操纵处理赏罚数据。漫衍式是软件体系的一种架构模式,在漫衍式体系中,多个硬件或软件组件漫衍在差异计较机上,互相之间通过动静转达举办通讯,对外示意为一个整体,提供同一化的处事。

有一种广泛的概念是,数据库 SQL 与漫衍式之间存在自然对立性,山宝银的领略是:“漫衍式体系由于数据分手在差异的节点,以是像 SQL 的联表、事宜等操纵必要全局的锁掩护,这样处理赏罚起来较量伟大,而且影响机能。”

SQL 尚有与 NoSQL 的弃取题目,NoSQL 是指一类数据库,首要用于高机能处理赏罚超海量数据,它的一大特点是数据布局简朴,以 key-value 为主,数据之间非关联,轻易做程度扩展。

从字面上看,NoSQL 好像是与 SQL 对立的,做 NoSQL 好像就意味着放弃 SQL,然而现实上 NoSQL 本意是 Not Only SQL,它不只仅是 SQL,那么也就可以包括 SQL 的手段。

“NoSQL 也不是必然就得放弃 SQL,着实在署理层可以增进 SQL 的理会、计较逻辑来实现 SQL 操纵,但这样会影响机能,以是照旧看应用场景和营业需求。”

山宝银为我们简朴说明白 DCache “漫衍式 NoSQL”的意义。在 SQL 处理赏罚方面,漫衍式好像存在劣势,然而漫衍式意味着可以联络更多的便宜计较机,充实运用算力,以低本钱的方法应对高强度的并发会见哀求,另外漫衍式架构尚有不少上风,好比停止体系单点题目导致的整体妨碍,实现高可用。

而另一方面,山宝银也说到:“DCache 由于首要的方针就是高机能,SQL 操纵并不是首要想办理的题目,以是 DCache 没有实现 SQL 的成果。”

DCache 漫衍式计策与手段

DCache 对外提供处事的粒度是 group,一个 group 认真一部门的数据分片,至于每个 group 处事哪些数据,是按照数据的 key 做 hash 映射后所处的范畴来确定的。

DCache 会把数据的 key 通过 hash 算法映射到 0~4294967295 (unsigned int) 范畴内,然后把 0~4294967295 范畴匀称分别到差异的 group 上。譬喻有两个 group,key 做 hash 后的值在 0~2147483647 范畴就分发到 group1,在 2147483648~4294967295 范畴就分发到 group2。

在一个 group 内,回收主备架构,只有主节点吸取读写哀求,以是数据同等性是可以担保的,而当主机不行用时,会触发主备自动切换,担保处事一连可用。

DCache 架构

我们迷惑 DCache 好像强依靠于 etcd 与 TARS 等中间件,那它自己的焦点特征与手段表此刻那边?

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读