一、搭建sofa项目
示例代码: https://github.com/wyc192273/soul-learn-project/tree/main/sofa-demo
- 搭建了简单的sofa服务后,需要在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网关的路由前缀,这个你应该懂意思把? 比如/order ,/product 等等,网关会根据你的这个前缀来进行路由.
# appName:你的应用名称,不配置的话,会默认取sofa配置中application 中的名称
- 在实现类上添加@SoulSofaClient注解
@Override
@SoulSofaClient(path = "/saveUser")
public Object saveUser(User user) {
return user;
}
-
设置sofa插件
需要设置soul的sofa插件为开启状态,访问http://localhost:9095/#/system/plugin
image.png在
sofa
插件中配置你的注册地址或者其他注册中心的地址.{"protocol":"zookeeper","register":"127.0.0.1:2181"}
启动项目,去http://localhost:9095/#/plug/sofa看,发现注册成功了
image.png
二、网关接入sofa
在网关项目中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>
重启网关
三、调用sofa接口
和dubbo调用方式相同
网友评论