-
强制路由 - 多活高可用服务 MAS
强制路由 除了根据路由算法配置路由,sdk还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。
-
强制路由 - 多活高可用服务 MAS
强制路由 非事务中使用强制路由 事务中使用强制路由 父主题: 使用场景
-
非事务中使用强制路由 - 多活高可用服务 MAS
非事务中使用强制路由 除了根据路由算法配置路由,sdk还支持通过注解@DynamicRoute强制指定路由,且相比路由算法,注解指定路由优先级更高。存在注解指定路由的场景下,优先根据注解指定进行路由。 注解@DynamicRoute指定路由分为两部分:source和hint,可单
-
事务中使用强制路由 - 多活高可用服务 MAS
r方法,开启了事务,并且里面有两个接口,第一个userReopository2上指定路由"dc2",第二个userReopository2上指定路由"dc1",此时以第一个接口中的注解指定的路由为准,使用“dc2”的数据源。 @Slf4j @Repository @javax.annotation
-
单边读写 - 多活高可用服务 MAS
etcd配置,对接MAS服务关键配置,如不对接MAS则无需配置 etcd: address: 127.0.0.1:2379 #etcd地址,从MAS服务实例页面查询获取 api-version: v3 #etcd版本,v3 username:
-
local-read-async-double-write-support-readable(本地读异步双写) - 多活高可用服务 MAS
true(在mas管理页面有设置)同步路由到到local redis, 否则, 同步路由到active redis。 写操作:当local redis的readable == true(在mas管理页面有设置)同步路由到近端redis,同时异步发送到远端redis。否则同步路由到active redis。异步写另外一端。
-
分布式锁场景最佳实践 - 多活高可用服务 MAS
1、通过setnx等命令实现的情况,需在方法上加注解路由指定读数据源@ReadRoute(from = RedisSource.ACTIVE) 2、如使用redisson分布式锁时需根据激活的数据源创建RedissonClient 1 2 3 4 5 6 7 8 9 10
-
local-read-write(单边读写) - 多活高可用服务 MAS
local-read-write(单边读写) single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的elasticsearch;写操作:同步路由到指定active的elasticsearch。 支持MAS动态切换激活数据源。 父主题: 使用场景
-
single-read-write(单边读写) - 多活高可用服务 MAS
single-read-write(单边读写) single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的redis;写操作:同步路由到指定active的redis。 支持mas动态切换激活数据源。 父主题: 使用场景
-
读命令列表 - 多活高可用服务 MAS
单边写和注解强制路由均根据此表来操作。 表1 读命令列表 序号 命令 描述 1. aggregate、count、distinct、mapReduce Aggregation Commands 2. geoSearch Geospatial Commands 3. find Query
-
与其他服务的关系 - 多活高可用服务 MAS
问控制等功能。 通过统一身份认证服务,实现对MAS的访问控制。 云监控服务 云监控服务(Cloud Eye)是云上提供的安全、可扩展的统一监控方案,通过云监控服务集中监控MAS的各种指标,基于云监控服务实现告警和事件通知。 云审计服务 云审计服务(Cloud Trace Serv
-
single-read-async-double-write(单边读异步双写) - 多活高可用服务 MAS
行,成功后,异步写到另一端。 本地读异步双写场景具体操作: 对于用户,不感知多个redis。 对于SDK 读操作:同步路由到到指定的redis。 写操作:同步路由到指定的redis,同时异步发送到远端redis。 此场景下可切换指定的redis。 当不同实例内SDK操作同一个redis
-
准备资源 - 多活高可用服务 MAS
准备依赖资源(首次创建多活实例) 准备虚拟机资源 在创建边缘版多活实例前,您可根据实际需要准备虚拟机资源,具体要求见下表。 实例规格 虚拟机数量(台) CPU 内存(G) 磁盘io(读+写)(MB/s) 系统盘(G) 数据盘(G) 系统架构 网络带宽性能 主多活分区 3 >=8 >=16 >=350
-
SpringBoot项目接入Mas-DB-SDK - 多活高可用服务 MAS
ps配置、etcd配置、sources数据源配置、router路由配置。 如果使用MAS服务,props配置、etcd配置则必须要配置,sources数据源配置需要与MAS服务中连接池中的命名一致。如果不对接MAS服务,props配置、etcd配置无需配置,sources数据源配置本地所用数据库即可。
-
使用限制 - 多活高可用服务 MAS
execute(action -> { action.insert(xxx); // 写操作,路由到active数据源 action.count(xxx); // 读操作,路由到本地数据源 }); 2. 有限制的命令 表1 Mas-Mongo-SDK有限制的命令 命令名称
-
本地读单边写 - 多活高可用服务 MAS
etcd配置,对接MAS服务关键配置,如不对接MAS则无需配置 etcd: address: 127.0.0.1:2379 #etcd地址,从MAS服务实例页面查询获取 api-version: v3 #etcd版本,v3 username:
-
Spring项目接入Mas-DB-SDK - 多活高可用服务 MAS
ps配置、etcd配置、sources数据源配置、router路由配置。 如果使用MAS服务,props配置、etcd配置则必须要配置,sources数据源配置需要与MAS服务中连接池中的命名一致。如果不对接MAS服务,props配置、etcd配置无需配置,sources数据源配置本地所用数据库即可。
-
配置项详细信息列表 - 多活高可用服务 MAS
当前固定填v1。 props.azs 服务所属az信息 空 路由算法为本地读单边写时必填。 props配置项中的值都是取自于本服务在MAS服务注册时展示的值。 props配置项中的值与在MAS服务中的来源请参考props、etcd配置项在MAS服务中如何查询。 表2 etcd配置项 名称
-
Mas-SDK版本变更与下载 - 多活高可用服务 MAS
2-RELEASE 增加byte系列方法,并重写对接spring-redis相关接口,支持script相关命令,优化etcd异常日志。 表3 Mas-Mongo-SDK版本变更 开发语言 版本及下载地址 变更描述 Java v 1.2.0-RELEASE 初次发布。 Java v
-
使用场景 - 多活高可用服务 MAS
ngle-write(本地读单写),double-write(本地读双写)3种模式,其中redis节点可配置cluster(集群), master-slave(主从), normal(普通)redis服务,搭配MAS可实现多活容灾;同时内置故障注入功能可创建带有注入故障的实例,进