全部产品
云市场

引入 SOFA 中间件

更新时间:2019-12-18 15:20:28

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

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

添加中间件全局配置项

在全局配置文件 application.properties 中定义以下配置项:

  • 标识信息:com.alipay.env
  • 中间件实例唯一标识:com.alipay.instanceid
  • 中间件基于 AntVIP 寻址:com.antcloud.antvip.endpoint=${ip}
  • 访问控制键值:com.antcloud.mw.access
  • 访问控制密钥:com.antcloud.mw.secret

重要:以上 5 个参数为必选项,否则会导致服务注册失败。

标识信息

SOFA 中间件使用 com.alipay.env 参数作为环境标识。该参数默认配置为 shared,即 com.alipay.env=shared

中间件实例唯一标识

唯一标识 com.alipay.instanceid 将使用的中间件逻辑实例和其他用户做区分。您可以从 脚手架 > Step 2 > 实例标识中获取该唯一标识,如下图所示:instanceId

举例:假设您获取到的实例标识是 {middleware-instance-id},则该参数配置为:com.alipay.instanceid=middleware-instance-id

中间件基于 AntVIP 寻址

在分布式环境中,应用通过 AntVIP 指定的内网 IP 寻址各个组件服务端才能使用组件。应用启动后,会通过指定的地址轮询 AntVIP 来获取各个组件的服务端地址。而不同环境的 AntVIP 地址不同,如下图所示:

  • 杭州 - 非金区环境:100.114.153.130
  • 杭州 - 金区环境:10.91.89.30
  • 上海 - 非金区环境:100.103.1.174
  • 上海 - 金区环境:100.100.0.90

您也可以从 脚手架 > Step 2 > AntVIP 中获取该 IP 地址,如下图所示:

AntVIP

AntVIP 的参数配置为:com.antcloud.antvip.endpoint=${ip}

举例:假设您所在的环境是“杭州 - 非金区环境”,则该参数需配置为:com.antcloud.antvip.endpoint=100.114.153.130

访问控制键值与密钥

为保障中间件的安全性,所有的调用均需要验证访问者的身份,以确保访问者具有相关权限。

脚手架 > Step 2 > Access Key ID ,点击 获取 AK,即可前往 RAM 访问控制 页面创建 AK。详细操作步骤,参见 创建和管理访问控制密钥

创建访问控制密钥

图中的 Access Key ID 字段即为 com.antcloud.mw.access 应配置的值,Access Key Secret 字段即为 com.antcloud.mw.secret 应配置的值。

引入相关中间件服务的 starter

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

本文列出了各中间件服务在最新版本 SOFABoot 框架和 Embedded-SOFA 框架下对应的 starter 信息。

SOFABoot 3.2.1

该版本对应的各 starter 的 artifactId 和版本信息见下表:

中间件服务
SOFABoot
artifactId
version
rpc-enterprise-sofa-boot-starter
3.2.1
rest-enterprise-sofa-boot-starter
3.0.0
scheduler-enterprise-sofa-boot-starter
3.0.3
ddcs-enterprise-sofa-boot-starter
3.0.0
guardian-sofa-boot-starter
3.0.0
mq-enterprise-sofa-boot-starter
3.0.0
Security
security-enterprise-sofa-boot-starter
3.0.0
mpaasgws-enterprise-sofa-boot-starter
2.3.0