检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建3台弹性云服务器(ECS),ECS选择与实例相同可用区、VPC、子网和安全组。 如果是测试单机或主备实例,创建1台ECS即可。 在每台ECS上安装memtier_benchmark。以操作系统为CentOS 8.0为例进行安装。 准备工作。 安装编译所需的工具。
创建3台弹性云服务器(ECS),ECS选择与实例相同可用区、VPC、子网和安全组。 如果是测试单机或主备实例,创建1台ECS即可。 在每台ECS上安装redis-benchmark。
如需通过弹性云服务器访问实例,请选择与弹性云服务器相同的虚拟私有云。 目前DCS实例创建完成后不支持切换虚拟私有云和子网,请谨慎选择。 您可以通过共享VPC功能,使用其他账号共享的VPC和子网,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。
容灾和多活策略 DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要求
与开源Redis差异 表1 DCS与自建开源Redis的差异说明 比较项 开源Redis DCS Redis 服务搭建 从自行准备服务器资源到Redis搭建,需要0.5~2天。 Redis 3.0和Redis 6.0企业版:采用虚拟机部署,版本5~15分钟完成创建。
推荐企业使用预定义标签进行成本归集,具体流程如下: 图3 为云服务器添加标签 详细介绍请参见通过成本标签维度查看成本分配。 使用成本单元进行成本分配 企业可以使用成本中心的“成本单元”来拆分公共成本。
客户端订阅了channel之后,如果接收消息不及时,可能导致DCS实例消息堆积,当达到消息堆积阈值(默认值为32MB),或者达到某种程度(默认8MB)一段时间(默认为1分钟)后,服务器端会自动断开该客户端连接,避免导致内部内存耗尽。 客户端需要支持重连。
创建CCE节点池时,“节点类型”请选择“弹性云服务器-虚拟机”,“容器引擎”请选择“Docker”,“操作系统”请选择“CentOS 7.6”,并需要绑定“弹性公网IP”,选择“使用已有”或“自动创建”。 操作流程 制作客户端镜像 下载Redis客户端。 登录CCE集群节点。
如何修改Redis 3.0实例的SSL开关? 在公网开启时,SSL加密默认开启。 如果需要关闭SSL加密,建议按照以下操作执行: 打开修改公网访问页面。 在“修改公网访问”页面,关闭“SSL加密”,单击“确定”。 在实例详情页面的连接信息区域,显示“SSL加密”为已关闭。关闭SSL
413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
LB-M/LB-S 负载均衡服务器,采用主备高可用方式。Redis集群实例提供访问的IP地址和域名,即为负载均衡服务器地址。 Proxy Redis集群代理服务器。用于实现Redis集群内部的高可用,以及承接客户端的高并发请求。 支持使用Proxy节点的IP连接集群实例。
Memcached实例:不支持公网访问,您必须通过同一虚拟私有云下的弹性云服务器来访问缓存实例,以确保缓存数据的安全。如果您在应用开发调试阶段,可以通过ssh代理方式,实现本地环境访问实例。
如果有两个用户同时发起的请求分别落在两个不同的机器上,虽然这两个请求可以同时执行,但是因为两个机器运行在两个不同的Java虚拟机中,每个机器加的锁不是同一个,不同的锁只对属于自己Java虚拟机里面的线程有效,对其他Java虚拟机的线程无效。
GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。
服务韧性 DCS服务提供了3级可靠性架构,通过双AZ容灾、AZ内实例容灾、实例数据多副本技术方案,保障服务的持久性和可靠性。 表1 DCS服务可靠性架构 可靠性方案 简要说明 双AZ容灾 DCS提供了主备、Cluster集群、Proxy集群多种类型实例,支持跨AZ容灾,当一个AZ异常时
Redis和ECS之间的连接问题 公网连接Redis (仅Redis 3.0涉及) 密码问题 实例配置问题 客户端连接问题 带宽超限导致连接问题 性能问题导致连接超时 Redis和ECS之间的连接问题 客户端所在的ECS必须和Redis实例在同一个VPC内,并且需要确保ECS和Redis
结果如下: [root@ecs-cmtest mysql-8.0]# redis-cli -h redis-xxxxxxxxxxxx.com -p 6379 redis-xxxxxxxxxxxx.com:6379> HGETALL 1 1) "name" 2) "Wilin" 3)
Redis 3.0、Memcached采用虚拟机部署,系统会占用小部分内存。其他版本的实例不会存在该问题。 父主题: Redis使用
例如,用户要调用接口来查询云服务器列表,那么这个IAM用户被授予的策略中必须包含允许“dcs:servers:list”的授权项,该接口才能调用成功。
Redis和ECS之间的连接问题 公网连接Redis 3.0 密码问题 实例配置问题 客户端连接问题 带宽超限导致连接问题 性能问题导致连接超时 Redis和ECS之间的连接问题 客户端所在的ECS必须和Redis实例在同一个VPC内,并且需要确保ECS和Redis之间可以正常连接