云数据库Redis双副本集群版实例,两种连接模式适合使用场景攻略
云数据库Redis版提供双副本集群版实例,可轻松突破Redis自身单线程瓶颈,满足大容量、高性能的业务需求。Redis集群版支持代理和直连两种连接模式,您可以根据本章节的说明,选择适合业务需求的连接模式。
代理模式
云Redis集群版默认采用代理(proxy)模式,支持通过一个统一的连接地址(域名)访问Redis集群,客户端的请求通过代理服务器转发到各数据分片,代理服务器、数据分片和配置服务器均不提供单独的连接地址,降低了应用开发难度和代码复杂度。代理模式的服务架构图和组件说明如下。
图 1. Redis集群版代理模式服务架构
表 1. Redis集群版代理模式组件说明
各组件的数量和配置由Redis实例的规格决定,不支持自定义修改,但您可以通过变更配置调整集群的大小,或者将实例调整为其它架构。
直连模式
因所有请求都要通过代理服务器转发,代理模式在降低业务开发难度的同时也会小幅度影响Redis服务的响应速度。如果业务对响应速度的要求非常高,您可以使用直连模式,绕过代理服务器直接连接后端数据分片,从而降低网络开销和服务响应时间。直连模式的服务架构和说明如下。
图 2. Redis集群版直连模式服务架构
使用直连模式需要先开通直连访问,获取直连地址,然后使用连接原生Redis Cluster的方式连接集群。客户端首次连接时会通过DNS将直连地址解析为一个随机数据分片的虚拟IP(VIP)地址,之后即可通过Redis Cluster协议访问各数据分片。直连模式与代理模式的连接方式区别较大,相关注意事项和连接示例请参见使用直连地址访问Redis实例。
使用场景
- 数据量较大
相比Redis标准版,集群版可以有效地扩展存储量,最大可达4098 GB,能有效的满足业务扩展的需求。
- QPS压力较大
标准版Redis无法支撑较大的QPS,需要采用多节点的部署方式来冲破Redis单线程的性能瓶颈。Redis集群版提供16、32、64、128、256 GB五款集群版配置,提供8节点及16节点的部署模式。相对标准版可以将QPS提升8倍或16倍。
- 吞吐密集型应用
相比Redis标准版,集群版的内网吞吐限制相对较低,可以更好地支持热点数据读取、大吞吐类业务。
- 对Redis协议不敏感的应用
集群版的架构引入了多个组件,在对Redis协议的支持上相比标准版有一定限制。详情请参见集群实例的命令限制。
常用帮助
- 集群版部分子节点内存占用异常请参见如何搜索过大的key。
- 需要掌握内存中数据的分布情况请参见Redis内存分析方法。
常见问题
直连模式和代理模式可以同时使用吗?
答:可以。
本文来自 阿里云文档中心 Redis集群版-双副本
云栖号在线课堂:https://c.tb.cn/F3.Z8gvnK
更多系列直播,请关注 云栖号在线课堂 圈子 及时了解课程更新动态!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 实现线程的方式有几种方式?带有返回值的线程怎么实现?
Java 实现线程的方式有几种方式?带有返回值的线程怎么实现? 在Java线程开发中,有几种方法开启线程?假如需要得到线程返回的信息怎么办?可以实现吗?凯哥将通过源码和大家一起分享下线程怎么将返回值带回来的。 一:无返回值类型的 1:继承Thread类 2:实现Runnable接口 这两种是大家常用的,代码demo就截图吧。 1:继承Thread类的写法 定义:一个类型需要extends thread类,然后实现thread类的run方法。 编辑 2:实现Runnable接口的写法: 定义一个类,实现Runable接口,重新run方法。 New个thread对象,使用有参构造器,参数是runnable的。然后thread.start() 编辑 二:带有返回值的 3:实现Callable<V>接口 操作步骤: 一个类实现Callable接口,重新call方法; 在调用的时候,需要使用FutureTask这个类的有参构造,然后再使用thread的有参构造。 最后调用task的get方法。 代码如下: 编辑 运行结果: 编辑 Callable返回值的源码: 我们从FutureTa...
- 下一篇
Python 解密JWT验证苹果登录
Python 解密JWT验证苹果登录验证苹果登录,官方提供两种验证方法,一种是token,另一个种是code。这里使用的是token登录流程:苹果客户端调用苹果API,获取到用户的信息,包括:user_id昵称identity_token苹果客户端发送identity_token到服务端服务端验证identity_token是否合法,并解析数据,得到user_id。这个user_id和上面的user_id是一样的服务端检查该user_id是否已注册,如果是,返回登录信息。如果否,注册。验证的原理:苹果会把用户的信息放在一个json里面,然后使用私钥对json签名。服务端调用苹果API拿到公钥,然后验证签名是否正确。所以总的来说就是使用RSA私钥签名的算法来保证数据不会被篡改。identity_token解析后包含几部分内容header。例子:{u'alg': u'RS256', u'kid': u'86D88Kf'}alg是加密算法类型kid是使用的公钥的idpayload或者claims 。也就是数据:例子:{ u'c_hash': u'HpjAKvLjivbJr9j9ZxfFxA'...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Red5直播服务器,属于Java语言的直播服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境