一、搭建sofa項(xiàng)目
示例代碼: https://github.com/wyc192273/soul-learn-project/tree/main/sofa-demo
- 搭建了簡單的sofa服務(wù)后,需要在sofa項(xiàng)目中引入如下依賴:
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-client-sofa</artifactId>
<version>${soul.version}</version>
</dependency>
- 修改application.yaml文件,添加如下配置
soul:
sofa:
adminUrl: http://localhost:9095
contextPath: /sofa
appName: sofa
# adminUrl: 為你啟動(dòng)的soul-admin 項(xiàng)目的ip + 端口,注意要加 http://
# contextPath: 為你的這個(gè)項(xiàng)目在soul網(wǎng)關(guān)的路由前綴,這個(gè)你應(yīng)該懂意思把? 比如/order ,/product 等等,網(wǎng)關(guān)會根據(jù)你的這個(gè)前綴來進(jìn)行路由.
# appName:你的應(yīng)用名稱,不配置的話,會默認(rèn)取sofa配置中application 中的名稱
- 在實(shí)現(xiàn)類上添加@SoulSofaClient注解
@Override
@SoulSofaClient(path = "/saveUser")
public Object saveUser(User user) {
return user;
}
-
設(shè)置sofa插件
需要設(shè)置soul的sofa插件為開啟狀態(tài),訪問http://localhost:9095/#/system/plugin
image.png在
sofa
插件中配置你的注冊地址或者其他注冊中心的地址.{"protocol":"zookeeper","register":"127.0.0.1:2181"}
啟動(dòng)項(xiàng)目,去http://localhost:9095/#/plug/sofa看,發(fā)現(xiàn)注冊成功了
image.png
二、網(wǎng)關(guān)接入sofa
在網(wǎng)關(guān)項(xiàng)目中pom引入如下依賴:sofa版本換成自己的版本
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofa-rpc-all</artifactId>
<version>5.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-sofa</artifactId>
<version>${last.version}</version>
</dependency>
重啟網(wǎng)關(guān)
三、調(diào)用sofa接口
和dubbo調(diào)用方式相同