Tair分布式缓存

简介: Redis很好用,相比memcached多了很多数据结构,支持持久化。但是在很长一段时间里,原生是不支持分布式的。后来就出现了很多redis集群类产品,Tair是其中胜出的优秀作品之一。 所以Tair的特性都是一些集群的特性,比如:容错、解决单点故障、跨机房管理、多集群管理、支持副本等。总而言之,是redis的高可用版本。

Tair是为了解决什么问题而生?


   Redis很好用,相比memcached多了很多数据结构,支持持久化。但是在很长一段时间里,原生是不支持分布式的。后来就出现了很多redis集群类产品,Tair是其中胜出的优秀作品之一。


   所以Tair的特性都是一些集群的特性,比如:容错、解决单点故障、跨机房管理、多集群管理、支持副本等。总而言之,是redis的高可用版本。

 

Tair的架构


   Tair的整体风格是简约实用,包括三个必选模块:client、configserver和dataserver。


一个可选模块:invalidserver。还有一个必要软设施:一致性哈希算法提供分布式的负载均衡计算。


1112728-20191011093501183-272466657.png


client的作用


   1. 在应用端提供访问Tair集群的接口


   2.更新并缓存数据分布表和invalidserver 地址等


   3. 本地缓存,避免过热数据访问影响Tair集群服务


   4. 流控


configserver的作用


   1. 通过维护和dataserver心跳来获取集群存活节点的信息


   2.通过存活节点的信息来构建数据在集群中的分布表


   3. 提供数据分布表的查询服务


   4. 调度dataserver之间的数据迁移、复制


dataserver的作用


    1. 提供存储引擎


    2. 接受client和put、get、remove等操作


    3. 执行数据迁移、复制等


    4. 插件:在接受请求的时候处理一些自定义功能


    5. 访问统计


invallidserver的作用


    1. 接收来自client和invalid、hide等请求后,对属于同一组的集群(双机房独立集群部署方法)做delete、hide操作,保证同一组集群的一致


    2.集群断网之后的脏数据清理


    3. 访问统计


一致性哈希的作用


   1. 增加和减少dataserver的时候,进行rehash重哈希。并在迁移过程中保持原数据对外提供服务


   2. 负载均衡,并行多个key进行计算合并结果(mget)

 

Tair的使用场景


  1. 缓存


  1. 分布式锁


  1. 作为nosql数据库,提供简单类型存储(K/V存储,无复杂查询)

 

Tair使用QA


1.


Q:tair可以支持支持什么类型?


A:内部是序列化成二进制的,就是说理论上支持任何类型。


2.


Q:tair有mget的功能可以一次性返回多个结果,这个个数有上限吗?


A:理论上没有。实际使用中建议1次在100个以下。因为多个请求要等所有的结果回来再进行聚合。聚合等待太多,错误就会发生。好比一个机器故障率是万分之一。那么10000条记录一起请求结果,那么故障率就非常高了,可能多数情况下都是失败的。


3.


Q:tair的分布式锁使用有什么最佳实践?


A:分布式锁使用建议使用带有过期时间的分布式锁,过期时间可传一个绝对的时间戳。解锁时可传入一个非常大的整数,以解掉所有的锁。

相关文章
|
9天前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
4月前
|
存储 缓存 NoSQL
GuavaCache、EVCache、Tair、Aerospike 缓存框架比较
**摘要:** Guava Cache、EVCache、Tair 和 Aerospike 是不同的缓存解决方案。Guava Cache 是轻量级的本地缓存,适用于Java应用,提供丰富的配置选项和自动加载功能。EVCache 基于 Memcached,适合分布式场景,高并发访问。Tair,阿里巴巴的分布式缓存,支持多种数据结构,适用于大规模系统。Aerospike 是高性能NoSQL数据库,结合缓存和持久化,适用于低延迟和大数据量的场景。选择时要考虑应用场景、性能需求和数据规模。
GuavaCache、EVCache、Tair、Aerospike 缓存框架比较
|
存储 缓存 运维
Tair 的缓存高级实践 | 学习笔记
快速学习 Tair 的缓存高级实践
Tair 的缓存高级实践 | 学习笔记
|
存储 缓存 运维
最强缓存!阿里云重磅发布云数据库Redis企业版(Tair)系列及专属主机组服务
2020年3月11号,阿里云数据库Redis正式上线Redis企业版(Tair)系列产品,提供性能增强和混合存储两个系列。
7779 0
最强缓存!阿里云重磅发布云数据库Redis企业版(Tair)系列及专属主机组服务
|
存储 Cloud Native NoSQL
阿里云新品发布会周刊第74期 丨 自研云原生缓存数据库Tair持久存储系列重磅发布
大规格、持久化存储、兼容原生Redis的云上数据库Tair全新发布,5折尝鲜~
4542 0
阿里云新品发布会周刊第74期 丨   自研云原生缓存数据库Tair持久存储系列重磅发布
|
存储 缓存 运维
最强缓存!阿里云重磅发布云数据库Redis企业版(Tair)系列及专属主机组服务
2020年3月11号,阿里云数据库Redis正式上线Redis企业版(Tair)系列产品,提供性能增强和混合存储两个系列。 关注阿里巴巴数据库技术公众号 菜单栏回复“redis” 即可获取发布会PPT资料啦! 性能增强系列提供3倍于社区版的性能,是目前最快的企业级缓存服务,混合存储系列通过引入 SSD存储介质,缓存成本降低70%-90%,满足超大容量低成本缓存需求。
1668 0
最强缓存!阿里云重磅发布云数据库Redis企业版(Tair)系列及专属主机组服务
|
1月前
|
NoSQL Cloud Native Linux
通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair
通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair
|
存储 弹性计算 缓存
轻松学习阿里云原生内存数据库Tair
云原生数据库指的是基于云架构的云数据库,是一种云原生数据基础设施;是一种完全利用公有云优势的数据库服务;其本身匹配云环境和分布式事务,一般提供计算存储分离和日志即数据能力,其核心是存储与计算分离。具有弹性伸缩能力、无服务器(Serverless)、高性能、高可扩展、一致性、容错、易于管理和多云支持等特性。云原生数据库(Cloud-NativeDatabase)概念源于国外,随之受到国内厂商的关注,适用于软件工程、计算机、云计算等领域。
轻松学习阿里云原生内存数据库Tair
|
弹性计算 NoSQL 算法
阿里云Redis与Tair压力测评
无意中发现阿里云开发社区的训练营活动,其中有一个7天玩转Redis、tair训练营计划,里面可以免费领取三个月的试用礼包,因为是参营任务,不领取都不行的那种,领取之后放着也是放着,不如跑跑数据看看Redis和Tair的性能有什么区别,简单的压力测试下,本次测试并不精确,也不具有太多参考意义,真的就是为了测试而测试。
278 0