全部产品

引入 SOFA 中间件

更新时间:2020-07-22 10:06:09

为了在 SOFABoot 应用中引入 SOFA 中间件,需要在工程文件中进行以下配置:

  1. application.properties 文件中添加 properties 配置项
  2. 在主 pom.xml 文件中 引入相关中间件服务的 starter

properties 配置项

application.properties 中必须配置的属性,汇总如下:

  • 运行模式:run.mode=NORMAL
  • 环境标识:com.alipay.env=shared
  • 实例标识:com.alipay.instanceid=${real value}
  • AntVIP 地址:com.antcloud.antvip.endpoint=${real value}
  • 访问控制键:com.antcloud.mw.access=${real value}
  • 访问控制密钥:com.antcloud.mw.secret=${real value}

重要

  • 以上参数为必选项,否则会导致服务注册失败。
  • ${real value}:为占位符,请务必替换为真实值。
  • 运行模式和环境标识为默认固定值,无其它选项。

配置项说明

  • run.mode:标识工程的运行模式。在云端发布时,需要将测试或开发阶段的环境更改为 NORMAL
  • com.alipay.env:用来作为环境标识。默认为 com.alipay.env=shared
  • com.alipay.instanceid:中间件实例的唯一标识。用来将使用的中间件逻辑实例和其他用户做区分。
  • com.antcloud.antvip.endpoint:中间件基于 AntVIP 寻址,在分布式环境中,应用启动后,采用轮询策略,通过 AntVIP 指定的内网 IP 地址,寻找各个组件服务端。不同环境的 AntVIP 地址值,规定如下。
    • 杭州金区VPC:100.103.201.136
    • 上海非金:100.103.1.174
  • com.antcloud.mw.access:用于访问控制。
  • com.antcloud.mw.secret:用户访问控制。

配置步骤

上述属性的配置步骤,说明如下:

  1. 请前往 脚手架 > Step 2,示例如下:
    脚手架截图从中获取下述信息:
    • 实例标识:应用实例在工作空间中的唯一标识,在 application 中对应的 key 为:com.alipay.instanceid
    • AntVIP:应用通过 AntVIP 来获取各个组件的服务端地址,每个区域一个地址。在 application 中对应的 key 为 com.antcloud.antvip.endpoint。不同环境的 AntVIP 地址值,见下述规定。
      • 杭州金区VPC:100.103.201.136
      • 上海非金:100.103.1.174
  2. 脚手架 控制台,点击右上角用户图像,选择 AccessKey Management,在跳转的页面中即可获取访问控制对应的属性值。 这些属性在 application 中对应的 key 分别为:

    • Access Key IDcom.antcloud.mw.access
    • Access Secretcom.antcloud.mw.secret

      说明:如果需要创建 AccessKey,可点击 获取 AK。更多详情,请参见 创建 AccessKey

  3. 配置运行模式和运行环境,示例如下:

    1. run.mode=NORMAL
    2. com.alipay.env=shared
  4. 将上述属性键和值,配置在 application.properties 文件中。

引入相关中间件服务的 starter

SOFABoot 对引入的各中间件服务版本进行了统一管理。您只需在主 pom.xml 文件中添加或修改相应的中间件服务 starter,即可引入相应的中间件服务。

中间件服务及对应 starter 的 依赖信息汇总如下:

  • groupIdcom.alipay.sofa

  • version:自 SOFABoot 3.2.1 开始,中间件对应 starter 的版本和 SOFABoot 版本信息保持一致。SOFABoot 的最新版本信息,请参见 版本说明

  • artifactId:即 starter 的名称,更多详情见下表。

    中间件
    artifactId
    产品
    微服务
    rpc-enterprise-sofa-boot-starter
    ddcs-enterprise-sofa-boot-starter
    guardian-sofa-boot-starter
    SOFABoot
    isle-enterprise-sofa-boot-starter
    scheduler-enterprise-sofa-boot-starter
    sofamq-enterprise-sofa-boot-starter
    tracer-enterprise-sofa-boot-starter
    dtx-enterprise-sofa-boot-starter
    跨产品
    Security
    security-enterprise-sofa-boot-starter
    SOFA Runtime
    runtime-enterprise-sofa-boot-starter
    健康检查
    healthcheck-enterprise-sofa-boot-starter

查看 starter 信息

对于 SOFABoot 引入的各个中间件 starter,您可以通过以下步骤快速获取应用中各中间件 starter 的依赖、版本等信息:

  1. 在应用中启用 健康检查 功能。
    • 按照官网文档 创建工程 创建的 SOFABoot 工程,默认已经有其它组件引入了健康检查功能。
    • 若尚未启用,引入健康检查的操作,请参见 引入健康检查
  2. 在浏览器中,访问 http://localhost:8080/actuator/versions 以查看中间件 starter 的信息。示例如下:

    1. [
    2. {
    3. GroupId: "com.alipay.sofa",
    4. Doc-Url: "https://www.cloud.alipay.com/docs/2/56003",
    5. ArtifactId: "rpc-enterprise-sofa-boot-starter",
    6. Commit-Time: "2020-02-20T16:53:47+0800",
    7. Commit-Id: "fdfaded104aafe578a3e3b741a4cedaaf07e3c26",
    8. Version: "3.3.0",
    9. Build-Time: "2020-02-20T17:00:19+0800"
    10. },
    11. ...
    12. ]