检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发流程 开发的流程如下所示: 版本获取及引入依赖。 通过go.mod引入需要的依赖,是使用MAS-GO-SDK的基础。 配置创建数据源。 通过配置数据源驱动信息,引入MAS-GO-SDK-Mysql创建数据源。 支持以代码方式添加配置信息或者从YAML文件读取配置信息。 按需引入数据源。
根据是否接入MAS服务,确定是否配置etcd部分。 接入MAS服务,etcd配置必填,以及servers部分下Redis源列表与MAS服务中配置的源保持一致。 无接入MAS服务,etcd配置无须配置,servers部分下Redis源列表以实际使用为准。 props: version: v1 app-id: xxxx
多活实例是一个独立的资源空间,所有的操作都是在实例内进行,不同实例间的资源相互隔离。您可以根据业务需要使用一个或多个实例。 前提条件 已参考准备资源章节准备虚拟机资源。 有可用的VPC,并且已配置好子网与安全组,否则请参考准备资源完成VPC、子网和安全组,以及边缘节点的创建注册自建边缘节点。
开通功能模块的收费模式,默认“按需计费”。具体计费说明,请参考价格详情。 编辑功能模块 登录MAS控制台,在“总览”页面,单击已开通功能模块右边的“编辑”。 在“开通功能模块”页面,单击编辑所需功能点,单击右下角的“确定”。 当开通的功能点下存在依赖的多活实例和数据源资源时,无法通过编辑的方式删除该功能点。
95%,要求业务双活的容灾场景。 同城跨AZ的应用数据多活,并分担部分业务流量。 场景三:两地三中心 适用于容灾可用性要求达到99.99%,同时进行跨AZ和跨Region容灾场景。 同城双活+异地灾备,提供最高程度的业务连续性和数据可用性保障。 场景四:异地多活(单元化) 适用于容灾可用性要求达到99
SDK不支持分布式事务,事务与强制指定路由@DynamicRoute同时使用时,以第一条sql选择的数据源为准。 后续sql,即使使用@DynamicRoute指定数据源,也不生效。同一个事务中,不允许访问不同的数据库。 如下,service层的updateUser方法,开启了事务,并且里面有两个接口,第一个u
置则必须要配置,sources数据源配置需要与MAS服务中连接池中的命名一致。如果不对接MAS服务,props配置、etcd配置无需配置,sources数据源配置本地所用数据库即可。 下列场景中的配置都包含了props、etcd的配置,配置项的具体值含义参考配置项详细信息列表。
体比对业务源桶与灾备目标桶的存储用量与对象数量是否一致。 配置介绍 表1 配置说明 参数 配置说明 源region 选择源桶所在的区域。 源桶 选择OBS源桶。 目标region 选择目标桶所在的区域。 目标桶 选择OBS目标桶。 检查时间(单位:秒) 配置两只桶存量的最大比对检查时间。
置则必须要配置,sources数据源配置需要与MAS服务中连接池中的命名一致。如果不对接MAS服务,props配置、etcd配置无需配置,sources数据源配置本地所用数据库即可。 下列场景中的配置都包含了props、etcd的配置,配置项的具体值含义参考配置项详细信息列表。
作在本地进行,不受MAS指示的活跃节点影响。根据配置文件中的AZ信息判断本地属于哪个AZ,读操作时从本地AZ进行读取,写操作仍然根据MAS指示的活跃节点进行操作。(本地指的是当Mongo数据源和props中所配置的AZs为同一AZ时,此Mongo数据源被视为本地) 本地读单边写模式,配置文件中props
注解中source是指定选择哪个节点的数据源,从YAML配置中的router.nodes中选取,如果不设置,请使用当前DCG仲裁的数据中心(MAS平台上激活的数据中心,如果未对接MAS平台,则选取本地配置中的active,即yaml配置中的router.active)。 DCG为多活实例的仲裁中心,提供
single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的elasticsearch;写操作:同步路由到指定active的elasticsearch。 支持MAS动态切换激活数据源。 父主题: 使用场景
single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
为数据源,如需要添加B账号下的RDS资源作为数据源,可通过B账号先创建委托将RDS资源共享给A账号,A账号在MAS控制台创建凭证(基于B账号创建的委托),并通过凭证来查询和调用B账号的RDS资源。 参考步骤如下: 委托方B账号创建委托并授权,建议授予被委托账号所需IAM和RDS的最小权限。
Service,简称MAS)源自华为消费者多活应用高可用方案,提供从流量入口、数据到应用层的端到端的业务故障切换及容灾演练能力,保障故障场景下的业务快速恢复,提升业务连续性。 使用条件 已注册华为账号并开通华为云。 当前登录账号拥有使用MAS的权限。账号权限授权与绑定,请参考创建用户并授权使用MAS。 登录多活高可用控制台
除了根据路由算法配置路由,SDK还支持通过注解@DynamicReadRoute指定读操作的路由。注解@DynamicReadRoute指定路由的参数:source,用于选择数据源,可以选择对应的枚举值:MongoSource.ACTIVE, MongoSource.LOCAL。 注
使用多数据源 上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下: 引入依赖。 <dependency> <groupId>com.huaweicloud.devspore</groupId>
网络是有明确要求的,包括时延等,通常要求在5ms内,这些要求也会在容灾规范中承载。 针对应用和数据库探活时,不是只探活1次就切换,用户可以在界面上配置策略,比如网络情况不是很好,可以配置成间隔10s并且连续3次失败再做切换等;另外自动故障切换只切1次,回切需要在管理界面手动操作。
或者双实例架构图中,哪个是用户提供的,哪个是MAS提供的? 如果要做双活,什么样的服务才能做双活,是不是必须是自建云服务才能用双活方案? 当前一些用户的解决方案是如何做到数据库双写的? 多活架构对业务是有要求的吧? 当前多活容灾方案中的RPO和RTO分别是多少? 多活容灾方案对网
创建带有注入故障的实例,进行相关业务场景的模拟,配置修改请参考故障注入Mysql配置示例。 该模块具有如下特性: 多活容灾能力。 多活容灾能力是指在同城场景下实现多活故障自动切换,由SDK和MAS服务配合完成。 读写分离。 读写分离由SDK实现,支持随机、轮询的负载均衡算法。 故障注入。