检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用多数据源 上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下: 引入依赖。 <dependency> <groupId>com.huaweicloud.devspore</groupId>
非事务中使用强制路由 除了根据路由算法配置路由,SDK还支持通过注解@DynamicRoute强制指定路由,且相比路由算法,注解指定路由优先级更高。存在注解指定路由的场景下,优先根据注解指定进行路由。 注解@DynamicRoute指定路由分为两部分:source和hint,可单
事务中使用强制路由 SDK不支持分布式事务,事务与强制指定路由@DynamicRoute同时使用时,以第一条sql选择的数据源为准,后续sql,即使使用@DynamicRoute指定数据源,也不生效。同一个事务中,不允许访问不同的数据库。 如下,service层的updateUs
使用限制 session使用 仅支持通过以下接口获取session: com.huawei.devspore.mas.mongo.core.client.Cluster.startSession() com.huawei.devspore.mas.mongo.core.client
Boolean 指定与 MongoDB 实例的所有通信都应使用 TLS/SSL。 tls 否 Boolean 指定与 MongoDB 实例的所有通信都应使用 TLS。 tlsInsecure 否 Boolean 指定驱动程序应允许 TLS 连接使用无效主机名。 tlsAllowInvalidHostnames
参数类型 取值范围 描述 props 否 PropertiesConfiguration object 请参考表2 MAS监控配置,配合etcd使用。同MAS-DB-SDK配置。 etcd 否 EtcdConfiguration object 请参考表3 etcd配置,如配置,则会从远
使用场景 本模块数据源创建支持single-read-write(单读写),local-read-single-write(本地读单写)2种模式,同时SDK内置实现了读写分离,可通过配置RANDOM(随机)或ROUND_ROBIN(轮询)负载均衡算法,搭配MAS可实现多活容灾;同
ongoSource.ACTIVE, MongoSource.LOCAL。 注解@DynamicReadRoute支持在方法、类上添加。 使用示例: 在方法上添加注解: @DynamicRoute(source = MongoSource.ACTIVE) public Document
使用场景 本模块客户端创建支持single-read-write(单读写),local-read-single-write(本地读单写),double-write(本地读双写)3种模式,其中Redis节点可配置cluster(集群), master-slave(主从), norm
使用指南 在go.mod文件中引入依赖,即引入MAS-GO-SDK。 github.com/huaweicloud/devcloud-go 结合配置项说明,添加配置文件或者配置信息。 配置文件示例config_Redis.yaml props: version: v1 appId:
#mongo连接串(注意不能带用户名密码) active: dc1 routeStrategy: single-read-write #路由策略 父主题: 使用场景
运行时带宽: >=5Mbit/s 安装Docker并启动运行 Docker版本必须高于17.06,推荐使用18.06.3版本。请勿使用18.09.0版本Docker,如果已使用此版本,请尽快升级。 Docker安装完成后,可以执行如下命令检查Docker是否安装正常。 # docker
无从库 场景一: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。DCG指示当前激活的数据中心,SDK根据DCG的指示,在相应的数据中心操作,读写操作都在一边进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props: version:
Percentage: 20, }, }, } } 父主题: 使用指南
读写分离 场景二: 如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景一类似,同样在单边进行读写,不同之处在于,场景二中存在从库,进行读写分离,写操作在主库,读操作在从库进行。 配置如下: # 基础信息 - 可选项, 当配置etcd后为必选 props:
log.Fatalln(err) } } 在需要执行Mysql操作的地方使用DevSporeDb执行Mysql操作,具体执行因业务各异,执行对应的sql.DB命令。 父主题: 使用指南
DSN: ""})) if err != nil { log.Fatalln(err) } } 父主题: 使用指南
pipeline功能使用示例 pipeline功能使用: 需要返回值示例: @Autowired private MultiZoneClient client; public void Demo() { client.executePipeline(pipeline ->
listCollections、listDatabases、listIndexes Administration Commands 父主题: 使用场景
依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建beego-orm数据源DevSporeOrm,后续执行Mysql相关操作。 由于beego-orm需要注册使用的model,以Teacher,Student为例。 type Teacher struct { Id int Name string