更新时间:2024-11-20 GMT+08:00
分享

应用接入SDK

  1. 下载SDK至本地。
    1. 登录MAS控制台,进入“帮助中心”页面。
    2. 在“SDK下载>MySQL/Oracle/PostgreSQL”页签,选择Java语言最新版本SDK,单击“下载”。
  2. 引用依赖。
    商城项目配置POM.xml文件(最外层POM文件),需要添加以下依赖:
    <dependency>
                <groupId>com.huaweicloud.devspore</groupId>
                <artifactId>spring-cloud-starter-huawei-devspore-datasource</artifactId>
                <version>1.2.9-RELEASE</version>
    </dependency>
  3. 获取SDK接入配置。
    1. 登录MAS控制台,在“多活管理”页面单击多活实例,进入多活实例控制台。
    2. 在“监控列表”页面,单击MySQL监控器左侧操作栏“更多”>“SDK接入配置”,复制配置参数。
      图1 复制配置参数

      此处获取的yaml配置不会携带数据库用户名密码信息,在使用时,需要补充完全(与创建MySQL监控时数据中心1和数据中心2数据库用户名和密码对应),同时还需要保证ETCD地址的可用性,再添加至项目的yaml文件。

  4. 创建多活数据源配置。
    获取SDK接入配置后,将相关信息添加完毕,找到项目对应的yaml文件,将相关信息添到商城项目的yaml文件,并且进行修改。由于商城后台项目自带springboot-dataSource,需要将其删除替换。修改后yaml文件如下所示:
    devspore:
      datasource:
        # 如果配置了etcd,props则必须配置
        props:
          version:    v1
          appId:    670ddad4-f831-46a6-96de-8f1af0a347ed
          monitorId:    d715fcc1-894e-4f3e-aaa9-bbe0835efdfe
          databaseName:    litemall
          decipherClassName:    com.huawei.devspore.mas.password.DefaultDecipher  # 加解密类,需要实现基类 com.huawei.devspore.mas.password.Decipher,默认值为com.huawei.devspore.mas.password.DefaultDecipher【如果MAS服务上配置了用户名和密码,且密码是加密的,需要自己实现该类解密密文】
          region:    az0
        # etcd配置,对接MAS服务关键配置,本地模式则无需配置
        etcd:
          address:    192.168.1.174:2379,192.168.1.60:2379,192.168.1.16:2379
          apiVersion:    v3
          username:    etcduser
          password:    **********    # 请去基本信息页的ETCD链接地址自行查询,并务必进行加密处理
          httpsEnable:    true
          certificatePath: D:/2.cer/mas_cer/    # etcd证书路径,私钥请务必加密保存
        # 数据源配置 - 必选
        sources:
          ds1:
            driverClassName:    org.mariadb.jdbc.Driver  # 驱动名称,自定义
            jdbcUrl:    jdbc:mariadb://localhost:3306/litemall
            username:    litemall
            password:    **********    # 请务必进行加密处理
            type:    com.zaxxer.hikari.HikariDataSource  # 数据源类型,自定义,目前只支持,com.zaxxer.hikari.HikariDataSource 和 org.apache.commons.dbcp2.BasicDataSource
          ds2:
            driverClassName:    org.mariadb.jdbc.Driver
            jdbcUrl:    jdbc:mariadb://localhost:3306/litemall
            username:    litemall
            password:    **********    # 请务必进行加密处理
            type:    com.zaxxer.hikari.HikariDataSource
        # 路由配置 - 必选
        router:
          active:    dc1
          routeAlgorithm:    single-read-write
          nodes:
            dc1:
              master:    ds1
              azs:
              loadBalance: round_robin
              slaves :
            dc2:
              master:    ds2
              azs:
              loadBalance: round_robin
              slaves :
  5. 重新部署商城应用,验证商城应用能否读取数据源数据。
    1. 使用管理员账号登录电商应用。
    2. 测试电商应用的相关数据是否能够正常创建和查询。

相关文档