关于Soul:Soul源码阅读05springcloud插件初体验

soul 网关接入 springCloud 利用

  • 参考官网文档:https://dromara.org/zh-cn/doc…

    • 引入相干依赖

      soul-bootstrap新增如下依赖:

            <!--  soul springCloud plugin start-->
             <dependency>
                  <groupId>org.dromara</groupId>
                  <artifactId>soul-spring-boot-starter-plugin-springcloud</artifactId>
                  <version>2.2.1</version>
              </dependency>
      
              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-commons</artifactId>
                  <version>2.2.0.RELEASE</version>
              </dependency>
              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                  <version>2.2.0.RELEASE</version>
              </dependency>
      
              <!--soul springCloud plugin start end-->
      
              <!-- springCloud if you config register center is nacos please dependency this-->
              <dependency>
                  <groupId>com.alibaba.cloud</groupId>
                  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
                  <version>2.1.0.RELEASE</version>
              </dependency>

应用 nacos 作为 springCloud的注册核心,application.yml新增如下配置:

 spring:
     main:
       allow-bean-definition-overriding: true
     application:
       name: soul-bootstrap
     cloud:
       nacos:
         discovery:
           server-addr: 127.0.0.1:8848

soul-examples-springcloud新增如下依赖:

  <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      <version>2.1.0.RELEASE</version>
</dependency>

application.yml增加相干配置

  spring:
    application:
      name: springCloud-test
    cloud:
      nacos:
        discovery:
          server-addr: 127.0.0.1:8848
  soul:
    springcloud:
      admin-url: http://localhost:9095
      context-path: /springcloud
  • springcloud 插件设置

    soul-admin 插件治理中,springcloud 插件设置为开启

  • 接口注册到网关

    • springcloud 服务实现类的办法上加上 @SoulSpringCloudClient 注解,示意该接口办法注册到网关
  • 先启动nacos,而后再启动SoulTestSpringCloudApplication,输入日志 springCloud client register success,示意sofa接口曾经公布到 soul 网关

测试运行

  • 直连测试

拜访地址:http://localhost:8884/order/findById?id=10

  • 通过网关调用

拜访地址:http://localhost:9195/springcloud/order/findById?id=10

Soul 插件的注册流程都雷同,都是通过继承AbstractSoulPlugin类,通过模板办法设计模式,循环匹配每一个插件进行注册。之前的【Soul源码浏览-02】devide插件负载平衡权重解析文章已做了剖析,这里就不再进行剖析了。

问题

  • 启动nacos失败

nacos 的版本为 1.3.2 ,启动始终失败,查看错误信息时发现第一行输入为cluster集群模式:

批改bin/startup.cmd文件,set MODE 批改为standalone单机模式,启动胜利

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理