开发者社区> 午光> 正文

阿里云数据库Redis版如何开启sentinel兼容模式

简介: 许多用户自建的Redis使用了sentinel来做高可用,因此也使用了支持sentinel的客户端,为了方便用户上云,阿里云Redis也开发了sentinel兼容模式以适应各种业务场景。
+关注继续查看

许多用户自建的Redis使用了sentinel来做高可用,因此也使用了支持sentinel的客户端,为了方便用户上云,阿里云Redis也开发了sentinel兼容模式以适应各种业务场景。

【注】:此处的sentinel兼容模式仅针对客户端而言,是为了让业务代码尽量少改动的情况下可以顺利迁移上云,阿里云Redis使用自研的高可用HA组件。

下面是阿里云Redis sentinel兼容模式的使用教程。

开启sentinel兼容模式

开启的入口在控制台【参数设置】处。

【注】:2.8版本暂不支持sentinel兼容模式。

image

在控制台【参数设置】处将#no_loose_sentinel-enabled参数修改为yes即可。

如果发现自己的4.0实例不支持sentinel兼容模式,可以做小版本升级。

【注】:由于社区sentinel无需密码验证环节,所以一般支持sentinel的客户端也没有auth这一过程,而云Redis是由Redis本身来兼容sentinel模式,故密码验证无法省略,所以目前仅在VPC免密的情况下客户端才能访问Redis,VPC免密开启如下图:

image

sentinel兼容模式使用

关于客户端是如何支持sentinel的不再赘述,有兴趣可以Google或百度。

以JedisSentinelPool为例,假设我们现在有一个实例helloworld.redis.rds.aliyuncs.com,密码为abcd,并且已开启sentinel兼容模式,配置如下即可。

Set<String> sentinels = new HashSet<String>();
//此处填写云Redis实例地址
sentinels.add("helloworld.redis.rds.aliyuncs.com:6379");
//masterName可以是任意字符串
JedisSentinelPool pool  = new JedisSentinelPool("mymaster", sentinels, "abcd");
Jedis myjedis = pool.getResource();
myjedis.set("key", "value");
myjedis.get("key");

OK,现在就可以愉快的使用了。

【注】:sentinel的核心其实就是客户端向sentinel询问redis的地址,阿里云Redis的sentinel兼容模式实现也是如此,Redis伪装成sentinel告诉客户端自己的地址,而且Redis是不知道其他Redis地址的,也无法通过masterName来区分不同的Redis,所以地址一定要填写正确。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里Java高级岗中间件二面:GC+IO+JVM+多线程+Redis+数据库+源码
一转眼,都2023年了,你是否在满意的公司?拿着理想的薪水? 虽然“钱多、事少、离家近”的工作可能离技术人比较远,但是找到一份合适的工作,其实并不像想象中那么难。但是,有些技术人确实是认真努力工作,但在面试时表现出的能力水平却不足以通过面试,或拿到高薪,其实不外乎以下 2 个原因: 第一,“知其然不知其所以然”。做了多年技术,开发了很多业务应用,但似乎并未思考过种种技术选择背后的逻辑。所以,他无法向面试官展现出自己未来技术能力的成长潜力。面试官也不会放心把具有一定深度的任务交给他。 第二,知识碎片化,不成系统。在面试中,面试者似乎无法完整、清晰地描述自己所开发的系统,或者使用的相关技术。
20 0
《阿里技术专家煮茶:Redis主从复制基本原理》电子版地址
阿里技术专家煮茶:Redis主从复制基本原理
41 0
阿里二面:redis分布式锁过期了但业务还没有执行完,怎么办
阿里二面:redis分布式锁过期了但业务还没有执行完,怎么办
243 0
阿里面试官:分布式锁到底用Redis好?还是Zookeeper好?
阿里面试官:分布式锁到底用Redis好?还是Zookeeper好?
54 0
阿里限流神器Sentinel夺命连环 17 问?
什么是sentinel? sentinel顾名思义:卫兵;在Redis中叫做哨兵,用于监控主从切换,但是在微服务中叫做流量防卫兵。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集
216 0
阿里官方 Redis 开发规范
阿里官方 Redis 开发规范
557 0
通俗易懂的阿里Sentinel源码分析:如何向控制台发送心跳包?
// 在Env类的静态代码块中, // 触发了一系列初始化操作, // 其中就包括发送心跳包的初始化。 // 如果Env类一直没有被用到, // 那么不会触发该初始操作。 // 这也印证了官方的“确保客户端有访问量, // 才开始向控制台发送心跳包”的说法, // 因为有访问量就会用到Env类。
236 0
想要年薪百万,阿里Sentinel支持RESTful接口都搞不定?
在Spring MVC或者Spring Boot中的RESTful接口中,有大量的@PathVariable注解,也就是把参数放在URL里。但是在Sentinel中把每一次请求的URL作为唯一的资源名,进行匹配和流量控制的,这就造成了一个接口是一个资源却被当作多个资源看待,无法达到流量控制的目的。
120 0
阿里Sentinel核心源码解析-责任链模式最佳实践(下)
阿里Sentinel核心源码解析-责任链模式最佳实践
157 0
阿里Sentinel核心源码解析-责任链模式最佳实践(中)
阿里Sentinel核心源码解析-责任链模式最佳实践
141 0
+关注
午光
阿里云工程师
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
Sentinel分布式系统下的流量防卫兵
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载