项目源码github地址

  • 什么是zuul
  • 快速入门
    • zuul项目基本配置
    • zuul加入eureka-server中,实现高可用

什么是zuul

zuul在之前我举得例子中,担任的是警察的角色。准确的说zuul可以是一个窗口,任何访问业务模块的请求都经过zuul进行转发。

官方定义:Zuul是Netflix开源的微服务网关,他可以和Eureka,Ribbon,Hystrix等组件配合使用。Zuul组件的核心是一系列的过滤器,这些过滤器可以完成以下功能:

  • 身份认证和安全: 识别每一个资源的验证要求,并拒绝那些不符的请求
  • 审查与监控:
  • 动态路由:动态将请求路由到不同后端集群
  • 压力测试:逐渐增加指向集群的流量,以了解性能
  • 负载分配:为每一种负载类型分配对应容量,并弃用超出限定值的请求
  • 静态响应处理:边缘位置进行响应,避免转发到内部集群
  • 多区域弹性:跨域AWS Region进行请求路由,旨在实现ELB(ElasticLoad Balancing)使用多样化

快速入门

spring-cloud创建spring-cloud-zuul模块项目,如下图:

zuul项目基本配置

  • pom.xml引入zuul的jar包

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency>
</dependencies>
  • application.properties配置

server.port= 8561
# 服务名称
spring.application.name=gateway_zuul
# 访问路径
server.servlet.context-path=/zuul# spring-web 项目的路由配置
zuul.routes.web.path=/**
zuul.routes.web.url=http://127.0.0.1:8661/
zuul.routes.web.sensitiveHeaders="*"
  • ZuulApplication.java中加入@EnableZuulProxy注解

/*** @author : R&M www.rmworking.com/blog*         2018/9/16 22:37*         spring-cloud*         org.qnloft.zuul*/
@EnableZuulProxy
@SpringBootApplication
public class ZuulApplication {public static void main(String[] args) {SpringApplication.run(ZuulApplication.class, args);}
}

现在尝试访问http://127.0.0.1/zuul/index,会出现HelloWorldController中返回的结果。

zuul加入eureka-server中,实现高可用

  • pon.xml中加入eureka-client的jar包

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • application.properties中加入eureka-server的地址

eureka.client.serviceUrl.defaultZone= http://localhost:8761/eureka/
  • ZuulApplication.java中加入@EnableEurekaClient注解

转载于:https://www.cnblogs.com/qnloft/p/qing-ning-kai-cheSpring-Cloud-wu--spring-cloud-de-.html

青柠开车Spring Cloud(五) —— spring cloud的窗口zuul(路由和过滤器)相关推荐

  1. 青柠开车Spring Cloud(六) —— Spring Cloud Gateway与zuul使用对比

    青柠开车Spring cloud(一) -- 生态系统以及在企业项目中的基础架构图     (1-7),有时间可以看看 项目源码github地址 补充 Gateway简介 快速入门 Gateway 项 ...

  2. 青柠开车Spring Cloud(七) —— 断路器 Hystrix

    项目源码github地址 什么是Hystrix 快速入门 Hystrix项目基本配置 Hystrix仪表盘 基本配置 仪表盘的使用 什么是Hystrix 还以商城为例: 单点服务  在单点部署的商场 ...

  3. 青柠开车Spring Cloud(三) —— Spring cloud Eureka

    项目源码github地址 什么是Eureka 快速入门 创建spring boot项目 引入spring cloud配置 引入Eureka依赖jar包 application.properties的配 ...

  4. Spring Cloud第五章:服务网关Zuul

    在微服务架构中,需要几个关键的组件,服务注册与发现.服务消费.负载均衡.断路器.智能路由.配置管理等,由这几个组件可以组建一个简单的微服务架构,如下图: 客户端的请求首先经过负载均衡(zuul.Ngn ...

  5. Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五)

    Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五) 前面几篇文章我们学习了Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止 ...

  6. 五Spring Cloud Alibaba基于Nacos构建分布式配置中心

      1.什么是Nacos 以下部分解释摘自于Nacos官方文档: Nacos 致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据 ...

  7. Spring干货汇总(含Spring Boot与Spring Cloud)

    周末抽空对本号推送的Spring相关内容做个汇总整理(包括spring boot.spring cloud等),方便大家查阅. Spring Boot专题 基础入门内容 SpringBoot快速入门 ...

  8. Spring Cloud(七) GateWay 服务化和过滤器

    前文回顾: Spring Cloud(一)Eureka Server-单体及集群搭建 Spring Cloud(二) 配置Eureka Client Spring Cloud(三) 熔断器Hystri ...

  9. spring cloud alibaba_SpringCloudAlibaba与Cloud搭配方案

    一 简介 Spring Cloud Alibaba致力于提供微服务开发一站式解决方案.此项目包括开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发 ...

最新文章

  1. 实验问题总结与分享之×××(Virtual Private Network)
  2. python 为什么每次代码运行时间不同-python – 气流在同一个dag的不同时间运行任......
  3. jquery中获取元素的几种方式小结
  4. Oracle B-Tree Index 原理
  5. java ee打印功能_Java EE 8的前5个新功能
  6. Silverlight的自定义tooltip提示工具条
  7. 记录一次maven依赖成功导入,但找不到相关包的IDEA臭bug
  8. stanford sentiment treebank 数据集
  9. 手机交互应用服务(邮件)
  10. Shell编程(CentOS7)
  11. 易语言 html 替换全角 半角,易语言全角与半角转换的使用讲解
  12. u盘坏了在计算机不显示,U盘在电脑上不能显示怎么办
  13. php期末作业总结,期末考试总结与反思(精选6篇)
  14. JNPF 3.1升3.2新版本内,拉姆达表达式内时间比较
  15. ASU计算机科学专业大学排名,2013年U.S.News美国大学排名--计算机科学专业研究生排名...
  16. Android 之注册Facebook开发者账号
  17. html5闪光效果,css特效-一道闪光在图片上划过
  18. js中的定时器和计时器使用
  19. oracle文件快速入库,文件入库ORACLE自动化脚本
  20. 国外知名乐队都在用的社交媒体二维码

热门文章

  1. 庆贺!浙江省建工集团智能线首根H型钢下线成功
  2. CUDA out of memory. Tried to allocate 150.00 MiB (GPU 0; 4.00 GiB total capacity; 2.24 GiB already a
  3. 视频音轨音量是否为0检测过程
  4. 测试代理ip是否有效
  5. 宁夏新八景[之一]:古峡新韵
  6. 面对一直在房价洼地的长沙,我不后悔十几年前逃离长沙
  7. [转]NSIS常用代码整理
  8. 加密币Terra创始人权道亨已从新加坡飞往杜拜转往第三国
  9. Python常用内置函数enumerate()详细用法介绍
  10. 【Unity3D小技巧】Unity3D中Animation和Animator动画的播放、暂停、倒放控制