SpringCloud框架+路由网关(zuul)技术整合

一:Zuul简介

Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能。

二:准备工作

继续使用上一次我搭建的框架,博客地址:https://blog.csdn.net/SpringCYB/article/details/89675753

三:搭建Zuul

1.在上次我们搭建的框架上新建SpringBoot微服务 springcloud-zuul

SpringCloud框架+路由网关(zuul)技术整合_第1张图片

选择服务:

SpringCloud框架+路由网关(zuul)技术整合_第2张图片

2.在他的启动类上加上注解@EnableZuulProxy,开启zuul的功能:

package com.jk;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@SpringBootApplication
@EnableZuulProxy
@EnableEurekaClient
public class SpringcloudZuulApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudZuulApplication.class, args);
    }

}

3.配置他的 application.yml 配置文件如下:


server:
  port: 80

spring:
  application:
    name: springcloud-zuul

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka

首先指定服务注册中心的地址为http://localhost:8761/eureka/,服务的端口为80,服务名为 springcloud-zuul

4.为了方便我就直接在消费者的controller写一个测试方法来测试了,就不在生产者写方法了:

   
    //获取配置文件的端口号
    @Value("${server.port}")
    String port;


    @GetMapping("testZuul")
    public String testZuul(){
        System.out.println("路由转发成功 ,端口号:" + port);
        return "路由转发成功 ,端口号:" + port;
    }

5.启动eureka和consumer项目以及zuul项目

  设置并行启动

选择consumer项目,把Allow打上勾引就可以并行启动了

然后我们把consumer项目的端口号改一下,在启动一个consumer项目

这样我们就启动了两个consumer项目,但两个端口号是不一样的

6.使用PostMan进行测试:

SpringCloud框架+路由网关(zuul)技术整合_第3张图片

SpringCloud框架+路由网关(zuul)技术整合_第4张图片

我这样达到了一个负载均衡轮循的效果

完成!

你可能感兴趣的:(SpringCloud框架+路由网关(zuul)技术整合)