在此之前先科普下zuul 和feign 的区别,zuul作为整个应用的流量入口,接收所有的请求,如app、网页等,并且将不同的请求转发至不同的处理微服务模块,其作用可视为nginx。
feign则是将当前微服务的部分服务接口暴露出来,并且主要用于各个微服务之间的服务调用。

Zuul是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过微服务网关,如图
Sringcoud- zuul 服务请求转发
附上所需maven

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    </dependency>
     <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-ribbon</artifactId>
    </dependency>

老矩在启动类加上注解

	@SpringBootApplication
	@EnableZuulProxy
	@EnableEurekaClient
	public class ZmkjApplication {
	
	    public static void main(String[] args) {
	        SpringApplication.run(ZmkjApplication.class, args);
	    }
	}

现在我们来看看配置中心,eureka的配置就不多说了,现在看看zuul的配置文件

server:
  port: 9999
eureka:
  client:
    service-url:
      defaultZone: http://${eureka.instance.hostname}:8760/eureka/
    register-with-eureka: true
    fetch-registry: true
  instance:
    hostname: localhost
zuul:
  routes:
    product-provider:  //product-provider 这个值可以随便写,即使是一个不存在的值
      path: /api/**  //这个也可以随便写 
      service-id: springcloud-feign-ribbon //这个不能随便写,这个写成你的 application: name

ribbon:
  ReadTimeout: 60000
  ConnectTimeout: 60000

现在我们来测试一下,通过zuul项目代理访问feign项目,api是我刚才随便取得,他会根据 service-id: springcloud-feign-ribbon这个去注册中心找到这个名称,进行调用服务器

Sringcoud- zuul 服务请求转发

相关文章:

  • 2021-09-12
  • 2022-12-23
  • 2021-11-15
  • 2022-01-06
  • 2021-05-20
  • 2021-04-08
  • 2022-02-08
  • 2021-07-25
猜你喜欢
  • 2021-05-18
  • 2021-11-17
  • 2021-11-24
  • 2021-11-27
  • 2021-07-10
  • 2021-09-02
  • 2022-12-23
相关资源
相似解决方案