springboot实现API网关(集成Zuul)

上两篇为基础:Erueka与消费者

网关的意义

  1. 集合多个API
  2. 统一API入口:可以不需要去管各个子项目的名称,网关会去做相应的映射。
  3. 优点缺点springboot实现API网关(集成Zuul)_第1张图片
    springboot实现API网关(集成Zuul)_第2张图片
    springboot实现API网关(集成Zuul)_第3张图片
    springboot实现API网关(集成Zuul)_第4张图片

NGINX:用的比较多,使用异步架构,在负载情况下使用内存比较少。

springboot实现API网关(集成Zuul)_第5张图片

集成zuul

  1. 添加Zuul依赖
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
            <version>2.0.0.M8</version>
        </dependency>
    

`
2. 启动类添加@EnableZuulProxy
3. 在Application.properties中添加:

zuul.routes.hi.path: /hi/ **        //路径,hi是自定义命名
zuul.routes.hi.serviceId: 某个子项目名称
  1. 重写Feign的接口:
@FeignClient("API网关的项目名称")   
public interface XXX {

	@GetMapping("hi/实例对应的子项目下的接口")    //由API网关自己根据url去映射对应的子项目
	String XXX();
}

你可能感兴趣的:(springboot实现API网关(集成Zuul))