检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
什么是分布式缓存服务 分布式缓存服务(Distributed Cache Service,简称DCS)是华为云提供的一款兼容Redis的高速内存数据处理引擎,为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访问的业务诉求。 即开即用 D
大。一般适用于设备需求量长期稳定的成熟业务。 按需计费:一种后付费模式,即先使用再付费,按照缓存实例实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。
典型应用场景 Redis应用场景 很多大型电商网站、视频直播和游戏应用等,存在大规模数据访问,对数据查询效率要求高,且数据结构简单,不涉及太多关联查询。这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降
使用DCS实现热点资源顺序访问 方案概述 应用场景 在传统单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLock或synchronized)进行互斥控制。这种Java提供的原生锁机制可以保证在同一个Java虚拟机进程内的多个线程同步执行,避免出现无序现象。
入门实践 本文介绍DCS常见的应用实践,帮助您更好地使用DCS。 实践 描述 使用DCS实现热点资源顺序访问 在互联网场景,例如商品秒杀,随着系统的并发飙升,需要多台机器并发运行。如果有两个用户同时发起的请求分别落在两个不同的机器上,虽然这两个请求可以同时执行,但是因为两个机器运
cer为公网访问时需要的二进制格式公钥证书,dcs-ca-bundle.pem为文本格式证书文件。 图2 查看公网访问地址(开启SSL,端口为36379) 登录本地Linux设备。 安装Stunnel客户端。 这里主要介绍Stunnel客户端的几种常见安装方法,您可以选择其中一种方式进行操作。 推荐使用apt和yu
如需读写流量分流处理,DCS服务提供了针对读写流量分流的读写分离实例类型,通过在中间架设代理节点实现读写流量分发,遇到从节点故障时,自动切流至主节点,对业务应用无感知,且故障感知时间窗口远小于redisson内部的时间窗口。 订阅模式(subscriptionMode) 建议采用MASTER,原理同读取模式(readMode)。
排查Redis实例带宽使用率高的问题 概述 Redis实例作为更靠近应用服务的数据层,通常会执行较多的数据存取并消耗网络带宽。不同的实例规格对应的最大带宽有所不同,当超过该规格的最大带宽时,会产生流控,流控会导致连接被丢弃,从业务角度可能会造成业务的延迟增大,客户端连接异常等问题
存在结构复杂、维护成本高、访问性能差、功能有限、无法轻松适应数据模型或模式的变化等问题。 解决方案 将Redis作为应用与数据库之间的缓存层可以解决上述问题,通过Redis缓存数据,提高数据读取速度,减轻数据库负载,提高应用性能,保证数据的可靠性。 因此,对于传统的关系型数据库例
DCS最佳实践汇总 本文汇总了基于分布式缓存服务DCS常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松使用DCS。 表1 DCS最佳实践一览表 最佳实践 说明 使用DCS实现热点资源顺序访问 该实践介绍如何使用Redis对分布式应用加锁。通过加锁对热点
性价比 高 中 时延 低时延 中等时延 读写分离 原生支持(客户端SDK配置) Proxy实现 性能 高 中 Cluster集群由于没有代理层,在时延和性能方面具备一定的优势;但是对于客户端使用方面,由于Cluster集群使用开源的Redis Cluster协议,在客户端的兼容性方面略差于Proxy集群。
参考创建独享型负载均衡器购买独享型负载均衡器。 共享型负载均衡器后端服务器组没有“添加跨VPC后端”功能,所以无法绑定DCS服务。 选择“规格”时,需要选择4层ELB(网络层TCP/UDP)。 为了使DCS实例支持公网访问,在创建独享型负载均衡时,必须开启“IP类型后端(跨VPC后端)”。 参考添加独享型负载均衡TCP监听器添加TCP监听器。
使用SSH隧道代理实现公网访问DCS 方案概述 当前,华为云DCS的Redis 4.0及以上版本不支持绑定弹性IP,无法直接通过公网访问。 本章节主要介绍通过SSH工具的隧道代理机制,通过一台既能连接DCS缓存实例,又能被本地电脑访问的中转服务器,实现“代理转发”,从而访问VPC内Redis
合理设置容错处理的重试时间,根据业务要求设置,避免过短或者过长。 如果超时重试时间设置的非常短(例如200毫秒以下),可能引发重试风暴,极易引发业务层雪崩。 如果重试时间设置得较长或者重试次数设置得较大,则可能导致在主备倒换情况下业务恢复较慢。 避免使用Lettuce客户端 Lettuce
nodes来获取集群slot的分布信息。如后续cluster扩/缩容、主备切换等,会导致集群拓扑结构发生变化,lettuce默认是不感知的,需手动开启主动感知拓扑结构变化,如下: 基于application.properties配置 # 开启自适应拓扑刷新 spring.redis.lettuce
调整DCS实例带宽 Redis实例作为更靠近应用服务的数据层,通常会执行较多的数据存取并消耗网络带宽。当实例带宽不足时,可能会产生流控,导致业务延迟增大,客户端连接异常等问题。目前,Redis 4.0及以上版本的实例,支持通过控制台调整Redis实例带宽,用于适配业务对带宽值的不同需求。