利用Spring Cloud Zuul实现动态路由示例代码

  • 更新时间:2022-06-11 13:24:21
  • 编辑:莘桂华
给大家整理了Spring Cloud相关的编程文章,网友唐彭丹根据主题投稿了本篇教程内容,涉及到spring、cloud、zuul、springcloud动态路由、spring、zuul、动态路由相关内容,已被736网友关注,下面的电子资料对本篇知识点有更加详尽的解释。
Spring Cloud微服务架构进阶
Spring Cloud微服务架构进阶
  • 大小:219.4 MB
  • 发布人:隗谷波
  • 下载:微服务

前言

本文主要给大家介绍了关于Spring Cloud Zuul实现动态路由的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

Zuul 是提供动态路由,监控,弹性,安全等的边缘服务。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

Zuul 可以适当的对多个 Amazon Auto Scaling Groups 进行路由请求。

首先新建maven项目,加入如下依赖

<dependencyManagement> 
 <dependencies> 
  <dependency> 
   <groupId>org.springframework.cloud</groupId> 
   <artifactId>spring-cloud-netflix</artifactId> 
   <version>1.1.3.RELEASE</version> 
   <type>pom</type> 
   <scope>import</scope> 
  </dependency> 
 </dependencies> 
</dependencyManagement> 
 
<dependencies> 
 <dependency> 
  <groupId>org.springframework.cloud</groupId> 
  <artifactId>spring-cloud-starter-hystrix</artifactId> 
 </dependency> 
 <dependency> 
  <groupId>org.springframework.cloud</groupId> 
  <artifactId>spring-cloud-starter-zuul</artifactId> 
 </dependency> 
</dependencies> 
package com.pp.zuul; 
 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.cloud.netflix.zuul.EnableZuulProxy; 
 
@EnableZuulProxy 
@SpringBootApplication 
public class App { 
 public static void main( String[] args ) { 
  SpringApplication.run(App.class, args); 
 } 
} 
package com.pp.zuul; 
 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
 
@RestController 
public class HomeController { 
  
 @RequestMapping("/index") 
 public Object index() { 
  return "index"; 
 } 
  
 @RequestMapping("/home") 
 public Object home() { 
  return "home"; 
 } 
} 

配置文件:application.properties

server.port=8181 
 
#这里的配置表示,访问/baidu/** 直接重定向到http://www.baidu.com 
zuul.routes.baidu.path=/baidu/** 
zuul.routes.baidu.url=http://www.baidu.com 
 
#反响代理配置 
#这里的配置类似nginx的反响代理 
#当请求/api/**会直接交给listOfServers配置的服务器处理 
#当stripPrefix=true的时候 (http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/user/list) 
#当stripPrefix=false的时候(http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/api/user/list) 
zuul.routes.api.path=/api/** 
zuul.routes.api.stripPrefix=false 
api.ribbon.listOfServers=192.168.1.100:8080,192.168.1.101:8080,192.168.1.102:8080 
 
#url重写配置 
#这里的配置,相当于访问/index/** 会直接渲染/home的请求内容(和直接请求/home效果一样), url地址不变 
zuul.routes.index.path=/index/** 
zuul.routes.index.url=forward:/home 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对java学习网的支持。

相关下载

  • Spring Cloud微服务架构进阶

    大小:219.4 MB
  • 重新定义spring cloud实战

    大小:62.42 MB
  • Spring Cloud与Docker微服务架构实战

    大小:100 MB
  • 《Spring Cloud微服务架构开发实战》源代码文件

    大小:2.1 MB
  • Spring Cloud Alibaba学习笔记

    大小:8.14 MB

相关教程

  • spring cloud gateway 全局过滤器的实现

    spring cloud gateway 全局过滤器的实现

    给网友朋友们带来一篇关于spring cloud的教程,全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,这篇文章主要介绍了spring cloud gateway 全局过滤器的实现,小编觉得挺不错的,现在分享给大家

    发布时间:2022-06-11主题:

    查看详情
  • sentinel整合spring cloud限流的过程解析

    sentinel整合spring cloud限流的过程解析

    给网友们整理关于spring cloud的教程,这篇文章主要介绍了sentinel 整合spring cloud限流,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    发布时间:2022-06-10主题:sentinel 整合spring cloud限流

    查看详情

用户留言