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:分布式锁使用建议使用带有过期时间的分布式锁,过期时间可传一个绝对的时间戳。解锁时可传入一个非常大的整数,以解掉所有的锁。

相关文章
|
5天前
|
缓存 NoSQL Serverless
云数据库Tair:从稳定低延时缓存到 Serverless KV
本次分享聚焦云数据库Tair的使用,涵盖三部分内容:1) Tair概览,介绍其作为稳定低延时缓存及KV数据库服务的特点和优势;2) 稳定低延迟缓存技术,探讨如何通过多线程处理、优化内核等手段提升性能与稳定性;3) 从缓存到Serverless KV的演进,特别是在AI大模型时代,Tair如何助力在线服务和推理缓存加速。Tair在兼容性、性能优化、扩缩容及AI推理加速方面表现出色,满足不同场景需求。
|
2月前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
6月前
|
存储 缓存 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 的缓存高级实践 | 学习笔记
|
存储 Cloud Native NoSQL
阿里云新品发布会周刊第74期 丨 自研云原生缓存数据库Tair持久存储系列重磅发布
大规格、持久化存储、兼容原生Redis的云上数据库Tair全新发布,5折尝鲜~
4552 0
阿里云新品发布会周刊第74期 丨   自研云原生缓存数据库Tair持久存储系列重磅发布
|
存储 缓存 运维
最强缓存!阿里云重磅发布云数据库Redis企业版(Tair)系列及专属主机组服务
2020年3月11号,阿里云数据库Redis正式上线Redis企业版(Tair)系列产品,提供性能增强和混合存储两个系列。 关注阿里巴巴数据库技术公众号 菜单栏回复“redis” 即可获取发布会PPT资料啦! 性能增强系列提供3倍于社区版的性能,是目前最快的企业级缓存服务,混合存储系列通过引入 SSD存储介质,缓存成本降低70%-90%,满足超大容量低成本缓存需求。
1675 0
最强缓存!阿里云重磅发布云数据库Redis企业版(Tair)系列及专属主机组服务
|
11天前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
151 85
|
3月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
84 6
|
8天前
|
缓存 监控 NoSQL
Redis经典问题:缓存穿透
本文详细探讨了分布式系统和缓存应用中的经典问题——缓存穿透。缓存穿透是指用户请求的数据在缓存和数据库中都不存在,导致大量请求直接落到数据库上,可能引发数据库崩溃或性能下降。文章介绍了几种有效的解决方案,包括接口层增加校验、缓存空值、使用布隆过滤器、优化数据库查询以及加强监控报警机制。通过这些方法,可以有效缓解缓存穿透对系统的影响,提升系统的稳定性和性能。