检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
安全白皮书 分布式缓存服务(Distributed Cache Service,简称DCS)是华为云提供的一款安全、可信的内存数据库服务。 DCS秉承华为云对租户的安全承诺,尊重租户数据主权,坚持中立、客观的立场,恪守业务边界,不碰租户数据,不会利用租户数据谋取商业价值。DCS允
使用DCS实现排行榜功能 方案概述 在网页和APP中经常需要用到榜单的功能,对某个key-value的列表进行降序显示。当操作和查询并发大的时候,使用传统数据库就会遇到性能瓶颈,造成较大的时延。 使用分布式缓存服务(DCS)的Redis版本,可以实现一个商品热销排行榜的功能。它的优势在于: 数据保存在内存中,读写速度非常快。
redis.host=<host> #redis 端口号 spring.redis.port=<port> #redis 数据库下标 spring.redis.database=0 #redis 密码 spring.redis.password=<password> #redis 读写超时
货币单位。 prod_type String 产品类型,取值为instance或者obs_space。 cloud_service_type_code String 云服务类型编码。 cloud_resource_type_code String 云资源类型编码。 flavors Array
订单处理:后端服务器会将订单信息保存到数据库中,并进行异步处理,例如发送消息通知用户订单状态。 缓存更新:后端服务器会更新缓存中的商品库存信息,以便处理下一次秒杀请求。 秒杀过程中多次访问数据库,下单通常是利用行级锁进行访问限制,抢到锁才能查询数据库和下单。但是秒杀时的大量订单请求,会导致数据库访问阻塞。 解决方案
使用DCS实现视频直播弹幕和社交网站评论的功能 使用DCS实现游戏开合服的数据同步 使用DCS实现电商秒杀功能 使用DCS改造传统应用系统数据库 升级Redis 3.0实例到高版本实例
welcome: Hello, DCS for Redis! 如果运行报错找不到hiredis库文件,可参考如下命令,将相关文件复制到系统目录,并增加动态链接。 mkdir /usr/lib/hiredis cp /usr/local/lib/libhiredis.so.0.13 /usr/lib/hiredis/
应用场景 视频、直播弹幕展示和社交网站评论回复等场景,要求时效性高,互动性强,类似这样的业务对平台的系统时延有着非常高的要求。如果使用关系型数据库,会涉及到按评论时间逆排序,随着评论越来越多,排序效率越来越低,且并发频繁。 解决方案 使用分布式缓存服务(DCS)的Redis缓存,可以
"backend_addrs": null, "crr_role": null, "cloud_service_type_code": "hws.service.type.dcs", "cloud_resource_type_code": "hws.resource.type.dcs3"
容灾和多活策略 DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要
仅单机、主备、读写分离、Proxy集群实例支持开启公网访问,Cluster集群实例暂不支持。 客户端公网访问Redis,与处于同一VPC下的客户端访问Redis相比,网络时延会增加。 因公网性能问题造成的客户端访问异常不计入SLA。 前提条件 准备弹性负载均衡ELB,创建ELB的操作,请参考创建独享型负载均衡器。创建
"spec_code": "redis.ha.xu1.large.r4.2", "cloud_service_type_code": "hws.service.type.dcs", "cloud_resource_type_code": "hws.resource.type.dcs3"
8080和8081两个端口都在监听状态,Nginx启动成功。 (可选)长连接场景 如果用户公网访问时需要使用长连接,那么需要在如上配置Nginx中增加以下配置: Nginx到后端server的超时时间 stream { server { listen 8080;
F文件整库导入。 AOF文件为所有数据更改命令的全量集合,数据文件稍大。 - Rump 支持在线迁移,支持在同一个实例的不同数据库之间,以及不同实例的数据库之间迁移。 不支持增量迁移。 建议停业务后迁移,避免出现Key丢失。详情参考使用Rump在线迁移其他云厂商Redis。 Redis-shake
redis.host=<host> #redis 端口号 spring.redis.port=<port> #redis 数据库下标 spring.redis.database=0 #redis 密码 spring.redis.password=<password> #redis 读写超时
RDB文件,确保业务数据均已同步到RDB文件中。 测试数据可以在导入后删除。 如果有某个数据库没有被业务系统使用,可以将测试数据写入该数据库,待导入DCS后,使用flushdb命令清空该数据库。 单机实例如果不做持久化配置,则RDB文件需要临时生成,导出耗时较主备实例相比稍多一些。
"backend_addrs": null, "crr_role": null, "cloud_service_type_code": "hws.service.type.dcs", "cloud_resource_type_code": "hws.resource.type.dcs3"
"spec_code": "redis.single.au1.large.2", "cloud_service_type_code": "hws.service.type.dcs", "cloud_resource_type_code": "hws.resource.type.dcs3"
如果重试次数过大或间隔过短,应用程序可能会占用过多的系统资源,且可能因请求过多而堵塞在服务器上无法恢复。 常见的重试间隔方式包括立即重试、固定时间重试、指数增加时间重试、随机时间重试等。 避免重试嵌套 重试嵌套可能导致重试时间被指数级放大。 记录重试异常并打印失败报告 在重试过程中,建议在WARN
--hotkeys。热Key的详情可以在结果中的summary部分获取到。 通过Redis命令查找大Key 如果有已知的大Key模式,例如知道其前缀为cloud:msg:test,那么可以通过一个程序,SCAN符合该前缀的Key,然后通过查询成员数量和查询Key大小的相关命令,来判断具体的大Key。