引入 SOFA 中間件
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務造成影響,請務必仔細閱讀。
為了在 SOFABoot 應用中引入 SOFA 中間件,需要在工程文件中進行以下配置:
application.properties
文件中添加 properties 配置項。在主
pom.xml
文件中 引入相關中間件服務的 starter。
properties 配置項
在 Web 項目的 app/web/src/main/resources/config/application.properties
中必須配置的屬性,匯總?cè)缦拢?/p>
運行模式:
run.mode=NORMAL
環(huán)境標識:
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}
警告以上參數(shù)為必選項,否則會導致服務注冊失敗。
{real value}:為占位符,請務必替換為真實值。
運行模式和環(huán)境標識在云端發(fā)布時應置為默認值。
配置項說明
run.mode
:標識工程的運行模式。默認為NORMAL
。枚舉值說明如下:
DEV:表示 RPC 路由時,強制用本地模式(客戶端和服務端均在一臺機器)。
TEST:表示 RPC 路由時,強制用 test-url 參數(shù)指定的地址(點對點連接)。
NORMAL:表示 RPC 路由時,使用軟負載的路由,也是線上正確的模式。
com.alipay.env
:用來作為環(huán)境標識。默認為com.alipay.env=shared
。com.alipay.instanceid
:中間件實例的唯一標識。用來將使用的中間件邏輯實例和其他用戶做區(qū)分。com.antcloud.antvip.endpoint
:中間件基于 AntVIP 尋址,在分布式環(huán)境中,應用啟動后,采用輪詢策略,通過 AntVIP 指定的內(nèi)網(wǎng) IP 地址,尋找各個組件服務端。不同環(huán)境的 AntVIP 地址值,規(guī)定如下。杭州金區(qū):
cn-hangzhou-fin-middleware-acvip-prod.cloud.alipaycs.net
上海非金:
cn-shanghai-middleware-acvip-prod.cloud.alipaycs.net
上海金區(qū):
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 控制臺。
在左側(cè)導航欄選擇 中間件 > 中間件總覽。
從中獲取以下信息:
instanceld(實例標識):應用實例在工作空間中的唯一標識,在 application 中對應的 key 為:
com.alipay.instanceid
。AntVIP endpoint:應用通過 AntVIP 來獲取各個組件的服務端地址,每個區(qū)域一個地址。在 application 中對應的 key 為
com.antcloud.antvip.endpoint
。不同環(huán)境的 AntVIP 地址值,請參見 配置項說明 配置。
單擊控制臺右上角的用戶頭像,然后單擊 AccessKey 管理,在跳轉(zhuǎn)的頁面中即可獲取訪問控制對應的屬性值。 這些屬性在 application 中對應的 key 分別為:
Access Key ID:
com.antcloud.mw.access
Access Secret:
com.antcloud.mw.secret
說明如果需要創(chuàng)建 AccessKey,可單擊獲取 AK。更多詳情,請參見 創(chuàng)建 AccessKey。
配置運行模式和運行環(huán)境,示例如下:
run.mode=NORMAL com.alipay.env=shared
將上述屬性鍵和值,配置在
application.properties
文件中。
引入相關中間件服務的 starter
SOFABoot 對引入的各中間件服務版本進行了統(tǒng)一管理。您只需在主 pom.xml
文件中添加或修改相應的中間件服務 starter,即可引入相應的中間件服務。
中間件服務及對應 starter 的依賴信息匯總?cè)缦拢?/p>
groupId:
com.alipay.sofa
。version:自 SOFABoot 3.2.1 開始,中間件對應 starter 的版本和 SOFABoot 版本信息保持一致。SOFABoot 的最新版本信息,請參見 版本說明 。
artifactId:即 starter 的名稱,更多詳情見下表。
中間件
artifactId
產(chǎn)品
微服務
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
跨產(chǎn)品
Security
security-enterprise-sofa-boot-starter
SOFA Runtime
runtime-enterprise-sofa-boot-starter
健康檢查
healthcheck-enterprise-sofa-boot-starter
查看 starter 信息
對于 SOFABoot 引入的各個中間件 starter,您可以通過以下步驟快速獲取應用中各中間件 starter 的依賴、版本等信息:
在應用中啟用 健康檢查 功能。
按照官網(wǎng)文檔 創(chuàng)建工程 創(chuàng)建的 SOFABoot 工程,默認已經(jīng)有其它組件引入了健康檢查功能。
若尚未啟用,引入健康檢查的操作,請參見 引入健康檢查。
在瀏覽器中,訪問 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" }, ... ]