检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
读命令列表 MAS-Mongo-SDK将以下mongo命令视为读命令,上述的本地读单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2.
强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。
非事务中使用强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicRoute强制指定路由,且相比路由算法,注解指定路由优先级更高。存在注解指定路由的场景下,优先根据注解指定进行路由。 注解@DynamicRoute指定路由分为两部分:source和hint,可单
启了事务,并且里面有两个接口,第一个userReopository2上指定路由“dc2”,第二个userReopository2上指定路由“dc1”,此时以第一个接口中的注解指定的路由为准,使用“dc2”的数据源。 @Slf4j @Repository @javax.annotation
强制路由 非事务中使用强制路由 事务中使用强制路由 父主题: 使用场景
命令参考 Redis命令参考 pipeline功能使用示例 DcsConnetion命令参考 RedisTemplate命令与DcsConnection接口对应关系 父主题: MAS-Redis-SDK使用手册
DcsConnetion命令参考 DcsConnection已实现部分RedisConnection的接口。 用户有需要时可以继承重写此类方法。 常用命令使用方式参考如下: public Long append(@Nonnull byte[] key, @Nonnull byte[]
single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的elasticsearch;写操作:同步路由到指定active的elasticsearch。 支持MAS动态切换激活数据源。 父主题: 使用场景
single-read-write(单边读写) single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
Redis命令参考 MultiZoneClient集成了Redis的命令,使得在多个区域进行数据管理变得更加便捷和高效。 它提供了丰富的功能,包括数据读写、事务管理、数据类型操作等,可以满足各种复杂的业务需求。 常用命令使用方式参考如下: 1 2 3 4 5
te(本地读单边写) 本地读单边写,适用于读多写少场景,读流量很大,对一致性不敏感的场景: 对于用户,不感知多个Redis。 对于SDK 读操作:同步路由到local Redis。 写操作:同步路由到active Redis。 此场景下Redis之间依赖同步服务相互同步。 图1
此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例: devspore:
读操作:同步路由到指定的Redis。 写操作:同步路由到指定的Redis,同时异步发送到远端Redis。 此场景下可切换指定的Redis。 当不同实例内SDK操作同一个Redis key时,不能保证两个Redis的一致性。 当SDK发生Redis切换时,切换前产生的异步双写命令和切换后
读操作:同步路由到近端Redis。 写操作:同步路由到近端Redis,同时异步发送到远端Redis。 此场景下Redis之间会相互同步,两个Redis位置等同没有主备之分,切换不会产生影响。 当不同实例内SDK操作同一个Redis key时,不能保证两个Redis的一致性。 spop命令双写不适用。
RedisTemplate命令与DcsConnection接口对应关系 RedisTemplate命令对应DcsConnection接口,请参考下表。 表1 RedisTemplate和DcsConnection对应关系 RedisTemplate命令 DcsConnection方法
action.insert(xxx); // 写操作,路由到active数据源 action.count(xxx); // 读操作,路由到本地数据源 }); 2. 有限制的命令 表1 MAS-Mongo-SDK有限制的命令 命令名称 使用限制 原因 MongoTemplate
MAS-SDK版本变更与下载 MAS-SDK版本变更记录及下载地址如下: 表1 MAS-DB-SDK版本变更 开发语言 版本及下载地址 变更描述 Java v 1.2.0-RELEASE 初次发布。 Java v 1.2.1-RELEASE 支持本地读单边写特性。 Java v 1
Redis监控管理 概述 Redis监控器可对用户业务使用的Redis数据库进行探测,并且在数据库异常时自动触发流量切换。 表1 监控状态说明 监控状态 状态说明 绿色 监控正常。 红色 监控异常。从正常到异常,在允许自动切换的情况下,自动触发流量切换。 黄色 初始化监控失败。此状态表示MAS进
分布式锁场景最佳实践 分布式锁场景需根据所选取的路由模式来选择合适的策略。 路由模式为single-read-write, single-read-async-double-write时 由于读写都在同一边,分布式锁不受影响。 路由模式为local-read-single-wri
题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 监控用户名 被监控的数据库的用户名。 监控用户密码 被监控的数据库的用户密码。 确认密码 再次填写监控用户密码。 填写数据中心配置,完成后单击“下一步:数据库配置”。