本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
为了在 SOFABoot 应用中引入 SOFA 中间件,需要在工程文件中进行以下配置:
application.properties
文件中添加 properties 配置项。在主
pom.xml
文件中 引入相关中间件服务的 starter。
properties 配置项
在 Web 项目的 app/web/src/main/resources/config/application.properties
中必须配置的属性,汇总如下:
运行模式:
run.mode=NORMAL
环境标识:
com.alipay.env=shared
实例标识:
com.alipay.instanceid=${real value}
AntVIP 地址:
com.antcloud.antvip.endpoint=${real value}
访问控制键 ID:
com.antcloud.mw.access=${real value}
访问控制密钥:
com.antcloud.mw.secret=${real value}
警告以上参数为必选项,否则会导致服务注册失败。
{real value}:为占位符,请务必替换为真实值。
运行模式和环境标识在云端发布时应置为默认值。
配置项说明
run.mode
:标识工程的运行模式。默认为NORMAL
。枚举值说明如下:
DEV:表示 RPC 路由时,强制用本地模式(客户端和服务端均在一台机器)。
TEST:表示 RPC 路由时,强制用 test-url 参数指定的地址(点对点连接)。
NORMAL:表示 RPC 路由时,使用软负载的路由,也是线上正确的模式。
com.alipay.env
:用来作为环境标识。默认为com.alipay.env=shared
。com.alipay.instanceid
:中间件实例的唯一标识。用来将使用的中间件逻辑实例和其他用户做区分。com.antcloud.antvip.endpoint
:中间件基于 AntVIP 寻址,在分布式环境中,应用启动后,采用轮询策略,通过 AntVIP 指定的内网 IP 地址,寻找各个组件服务端。不同环境的 AntVIP 地址值,规定如下。杭州金区:
cn-hangzhou-fin-middleware-acvip-prod.cloud.alipaycs.net
上海非金:
cn-shanghai-middleware-acvip-prod.cloud.alipaycs.net
上海金区:
cn-shanghai-fin-sofastack-middleware-acvip-prod.cloud.alipaycs.net
杭州非金:
cn-hangzhou-middleware-acvip-prod.cloud.alipaycs.net
com.antcloud.mw.access
:访问控制键 ID。com.antcloud.mw.secret
:访问控制键密钥。
配置步骤
上述属性的配置步骤,说明如下:
登录 SOFAStack 控制台。
在左侧导航栏选择 中间件 > 中间件总览。
从中获取以下信息:
instanceld(实例标识):应用实例在工作空间中的唯一标识,在 application 中对应的 key 为:
com.alipay.instanceid
。AntVIP endpoint:应用通过 AntVIP 来获取各个组件的服务端地址,每个区域一个地址。在 application 中对应的 key 为
com.antcloud.antvip.endpoint
。不同环境的 AntVIP 地址值,请参见 配置项说明 配置。
单击控制台右上角的用户头像,然后单击 AccessKey 管理,在跳转的页面中即可获取访问控制对应的属性值。 这些属性在 application 中对应的 key 分别为:
Access Key ID:
com.antcloud.mw.access
Access Secret:
com.antcloud.mw.secret
说明如果需要创建 AccessKey,可单击获取 AK。更多详情,请参见 创建 AccessKey。
配置运行模式和运行环境,示例如下:
run.mode=NORMAL com.alipay.env=shared
将上述属性键和值,配置在
application.properties
文件中。
引入相关中间件服务的 starter
SOFABoot 对引入的各中间件服务版本进行了统一管理。您只需在主 pom.xml
文件中添加或修改相应的中间件服务 starter,即可引入相应的中间件服务。
中间件服务及对应 starter 的依赖信息汇总如下:
groupId:
com.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 的依赖、版本等信息:
在应用中启用 健康检查 功能。
在浏览器中,访问 http://localhost:8080/actuator/versions 以查看中间件 starter 的信息。示例如下:
[ { GroupId:"com.alipay.sofa", Doc-Url:"https://www.cloud.alipay.com/docs/2/56003", ArtifactId:"rpc-enterprise-sofa-boot-starter", Commit-Time:"2020-02-20T16:53:47+0800", Commit-Id:"fdfaded104aafe578a3e3b741a4cedaaf07e3c26", Version:"3.3.0", Build-Time:"2020-02-20T17:00:19+0800" }, ... ]