检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
单边读写 此模式为MAS-Mongo-SDK的默认路由模式,在单边读写模式下,对Mongo的读写操作都在同一Mongo数据库(dc1或dc2)进行,通过配置文件中的active字段或MAS界面配置活跃节点来指定。(通过注解指定数据源的场景例外,注解强制指定路由见强制路由)。 配置示例:
装Docker、挂载磁盘,以及检查虚拟机与MAS侧的端口是否连通。 虚拟机资源准备有以下两种场景,您可以根据实际场景准备虚拟机资源。 首次创建多活实例,需要根据MAS实例资源要求申请新的虚拟机。 在已创建过多活实例且实例已删除的虚拟机上重新创建多活实例。 准备依赖资源(首次创建多活实例)
单击右上角的“创建应用”。 配置应用基本信息。 表1 应用基本配置 参数 配置说明 名称 自定义应用名称。 描述 填写对该应用的描述内容,选填项。 该应用是否允许纳管其他应用下的资源 开启时,可以纳管已被其他应用纳管的资源。 服务 选择云服务。 资源类型 展示所选云服务下包含的资源类型。
routeStrategy: local-read-single-write #路由策略 在需要执行Mongo操作的地方引入Cluster(替代原有的MongoClient)或者MongoTemplate,执行相关的Mongo操作。 举例: @Autowired private Cluster cluster;
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
种路由模式下,读操作在本地进行,不受MAS指示的活跃节点影响。根据配置文件中的AZ信息判断本地属于哪个AZ,读操作时从本地AZ进行读取,写操作仍然根据MAS指示的活跃节点进行操作。(本地指的是当Mongo数据源和props中所配置的AZs为同一AZ时,此Mongo数据源被视为本地)
如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。正常场景下,不管DCG激活哪个AZ,读操作都在本地进行;只有写操作是根据DCG激活指示,在相应的AZ进行。当某AZ本地数据库故障,不可读时,读操作根据DCG激活指示。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props:
在MAS实例控制台新增一个MAS应用,一个实例可以创建多个不同的应用,实例中的所有资源都要归属到某个应用下。 新增监控 在所属命名空间为同城多活类型的多活实例下,创建业务所需的监控器。 新增MySQL/Oracle/PostgreSQL监控 在实例控制台的监控列表页面根据业务需要新增MySQL或Or
接入配置”,复制配置参数。 图1 复制配置参数 此处获取的yaml配置不会携带数据库用户名密码信息,在使用时,需要补充完全(与创建MySQL监控时数据中心1和数据中心2数据库用户名和密码对应),同时还需要保证ETCD地址的可用性,再添加至项目的yaml文件。 创建多活数据源配置。
RPO(Recovery Point Objective)指当前业务数据库一个事务的提交时间,与该事务送达DRS的时间差(该事务通常也是DRS收到的最新的一个事务)。是主实例与DRS实例数据差的一种度量方式,RPO=0时,意味着业务数据库的最新数据已经全部到达DRS实例。 添加链路 新增一条同步链路。
数据源,按照同样的格式配置多组即可。 节点router.nodes.ds1.master下配置的源名称为“表3 sources数据源配置项”中的“sources.ds1”主节点的值。 节点router.nodes.ds1.slaves下配置的源名称为“表3”中的“sources.ds1”从节点的值。