概述
文章目录
- 配置
- 启动
- 访问
- 注册访问过程
- sofa客户端注册源码分析
配置
soul集成sofa时,需要进行以下步骤配置
- soul-admin开启sofa插件
- 由于sofa与dubbo类似,都需要注册中心,因此也需要在soul-admin配置sofa的注册中心地址,使用默认的zookepper地址即可:
- 配置soul-bootstrap网关引入sofa插件依赖
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-sofa</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofa-rpc-all</artifactId>
<version>${sofa.rpc.version}</version>
</dependency>
- soul-examples-sofa需要引入如下依赖
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-client-sofa</artifactId>
<version>${soul.version}</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
</exclusions>
</dependency>
- soul-examples-sofa配置文件需要配置注册中心地址,与soul-admin中配置地址一样
com:
alipay:
sofa:
rpc:
registry-address: zookeeper://127.0.0.1:2181
bolt-port: 8888
启动
启动zookeeper,然后分别启动soul-admin/soul-bootstrap/soul-examples-sofa
访问
注册访问过程
- soul-examples-sofa启动时,首先向soul-admin注册自身相关路由信息
- 接着向zookeeper服务器注册自身服务信息
- soul-admin接收到注册信息后保存到数据库中,并且将sofa的路由信息以及soul-admin中配置的sofa插件的zookpeer信息一并推送给soul-bootstrap
- soul-bootstrap接收到信息后开始构造路由映射信息,并且从zookeeper中获取示例sofa的注册服务信息,将A其保存到缓存中
- 当浏览器访问时soul-bootstrap时,soul-bootstrap会根据对应的路由信息,匹配到对应的服务信息,并模拟sofa的远程调用与后端服务器进行通信调用,最后将结果返回给浏览器
sofa客户端注册源码分析
- 包依赖分析
soul-examples-sofa–>soul-spring-boot-starter-client-sofa–>soul-client-sofa–>soul-client-common - 调用源码关键路径分析
soul-spring-boot-starter-client-sofa中类:
sofaConfig()方法负责加载soul-examples-sofa配置文件关于soul-admin注册url等相关信息,该配置文件如下:
加载完成后,会注入到如下方法中:
该方法为关键方法,该方法返回的对象在soul-cient-sofa依赖包中,如下
该类继承了spring的BeanPostProcessor后置处理,spring启动时,初始化完所有bean后,会执行如下方法:
该方法使用了线程池异步处理注册过程,真正的处理过程如下:
上图中红色地方是最核心方法,会扫描带有注解的SoulSofaClient方法,之后发起真正的注册,注册方法依赖soul-client-common包中的该类
该类只有一个doRegister方法,只是将之前拼装的相关配置信息传递给soul-admin,该类方法是所有插件客户端的通用注册方法,至此客户端的注册方法到此分析完成
最后
以上就是醉熏音响为你收集整理的soul源码学习(四)-sofa示例配置启动访问注册访问过程sofa客户端注册源码分析的全部内容,希望文章能够帮你解决soul源码学习(四)-sofa示例配置启动访问注册访问过程sofa客户端注册源码分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复