soul入门 第二章 divide 插件

317 阅读1分钟

soul入门 第二章 divide 插件

插件的概念

插件,顾名思义可插拔非常灵活,soul提供了12个插件,可以通过admin控制台启用或关闭,原则上每一个请求都会依次通过所有开启的插件。

divide插件的作用是处理http请求,然后分发到下游相应服务。

http协议的服务是如果注册到网关的

1、网关的启动,上一章已经介绍过,这里不赘述,详情请移步 环境搭建及启动

2、启动soul官方提供的样例工程 soul-test-http

​ 接入soul网关

<dependency>
    <groupId>org.dromara</groupId>
    <artifactId>soul-spring-boot-starter-client-springmvc</artifactId>
    <version>${soul.version}</version>
</dependency>
<dependency>
       <groupId>org.dromara</groupId>
       <artifactId>soul-spring-boot-starter-plugin-httpclient</artifactId>
       <version>${last.version}</version>
   </dependency>

​ 目标网关设置

soul:
  http:
    adminUrl: http://localhost:9095  # 本应用注册到网关soul-admin到地址
    port: 8188    #注意该端口为本应用启动端口
    contextPath: /http   # 路由前缀
    appName: http     #应用名称
    full: false

接口设置

@RestController
@RequestMapping("/test")
@SoulSpringMvcClient(path = "/test/**") 
public class HttpTestController {

}

SoulSpringMvcClient注解某个controller类下所有方法接口注册到目标网关,如果注解到方法上表示该方法注册到网关。

以上的设置都是基于springboot的工程来的,如果你的应用不是基于springboot甚至不是java,而是php服务,那么也没关系,只需要通过divide插件管理界面手动把你的服务添加到控制台即可,每个服务可以理解为一个选择器。