一、搭建sofa項目
示例代碼: https://github.com/wyc192273/soul-learn-project/tree/main/sofa-demo
- 搭建了簡單的sofa服務(wù)后,需要在sofa項目中引入如下依賴:
<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: 為你啟動的soul-admin 項目的ip + 端口,注意要加 http://
# contextPath: 為你的這個項目在soul網(wǎng)關(guān)的路由前綴,這個你應(yīng)該懂意思把巷怜? 比如/order 答渔,/product 等等,網(wǎng)關(guān)會根據(jù)你的這個前綴來進(jìn)行路由.
# appName:你的應(yīng)用名稱嗦明,不配置的話诗良,會默認(rèn)取sofa配置中application 中的名稱
- 在實現(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"}
啟動項目辨泳,去http://localhost:9095/#/plug/sofa看难菌,發(fā)現(xiàn)注冊成功了
image.png
二燎窘、網(wǎng)關(guān)接入sofa
在網(wǎng)關(guān)項目中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)用方式相同