【Soul源码阅读-05】springcloud插件初体验

soul 网关接入 springCloud 应用

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

    • 引入相关依赖

      soul-bootstrap新增如下依赖:

            
             
                  org.dromara
                  soul-spring-boot-starter-plugin-springcloud
                  2.2.1
              
      
              
                  org.springframework.cloud
                  spring-cloud-commons
                  2.2.0.RELEASE
              
              
                  org.springframework.cloud
                  spring-cloud-starter-netflix-ribbon
                  2.2.0.RELEASE
              
      
              
      
              
              
                  com.alibaba.cloud
                  spring-cloud-starter-alibaba-nacos-discovery
                  2.1.0.RELEASE
              

使用 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新增如下依赖:

  
      com.alibaba.cloud
      spring-cloud-starter-alibaba-nacos-discovery
      2.1.0.RELEASE

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 插件设置为开启

img

  • 接口注册到网关

    • springcloud 服务实现类的方法上加上 @SoulSpringCloudClient 注解,表示该接口方法注册到网关
  • 先启动nacos,然后再启动SoulTestSpringCloudApplication,输出日志 springCloud client register success,表示sofa接口已经发布到 soul 网关

img

测试运行

  • 直连测试

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

【Soul源码阅读-05】springcloud插件初体验_第1张图片

  • 通过网关调用

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

【Soul源码阅读-05】springcloud插件初体验_第2张图片

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

问题

  • 启动nacos失败

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

【Soul源码阅读-05】springcloud插件初体验_第3张图片

修改bin/startup.cmd文件,set MODE 修改为standalone单机模式,启动成功

【Soul源码阅读-05】springcloud插件初体验_第4张图片

你可能感兴趣的:(Soul)