SpringCloud学习笔记(17)----Spring Cloud Netflix之服务网关Zuul的使用
1. 什么时候Zuul?
Zuul是一个基于jvm路由和服务端的负载均衡器,在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。
路由功能:相当于nginx的反向代理
比如: / 可能需要映射到你的web应用,/api/users/映射到用户服务 ,/api/shop映射到商城服务。
2. 使用方式
新建项目spring-cloud-04-zuul
添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
配置配置文件
server.port=9876 spring.application.name=spring-cloud-zuul eureka.client.service-url.defaultZone=http://localhost:8761/eureka/ eureka.client.registry-fetch-interval-seconds=30 eureka.instance.lease-renewal-interval-in-seconds=15 eureka.instance.lease-expiration-duration-in-seconds=45
在zuul的启动类中添加@EnableZuulProxy注解,启动注册中心、消费者和生产者
使用zuul访问
http://localhost:9876/spring-cloud-provider/api/user/1
http://localhost:9876/spring-cloud-consumer/user/1
zuul将会将请求分别路由到生产者和消费者服务器中。
说明:zuul可以调用提供者,也可以调用消费者,这里没有固定的规则,符合业务需求即可。很多时候,提供者也会调用到另外的提供者(可能是多个),这里建议,最好不要超过三个应用之间的调用。
例如:一个下单api服务,当用户进行下单就会调用到订单服务,订单服务里面会调用到用户服务进行用户信息的操作,也会调用积分服务进行积分的操作,也可能会有日志服务进行日志记录,最终才能下单。
SpringCloud学习笔记(17)----Spring Cloud Netflix之服务网关Zuul的使用的更多相关文章
- SpringCloud学习笔记(20)----Spring Cloud Netflix之服务网关Zuul的各种姿势
1. 禁用过滤器 # zuul.<SimpleClassName>.<filterType>.disable=true # 例如禁用 自定义的过滤器 zuul.MyFilter ...
- SpringCloud学习笔记(19)----Spring Cloud Netflix之服务网关Zuul自定义过滤器
zuul不仅只是路由,还可以自定义过滤器来实现服务验证. 实现案例:自定义过滤器,检验头部是否带有token,如果token=wangx,则通过校验,若不存在或不为wangx则返回提示token错误. ...
- SpringCloud学习笔记(18)----Spring Cloud Netflix之服务网关Zuul原理
1. Zuul的工作机制 Zuul提供了一个框架,可以对过滤器进行动态的加载,编译,运行.过滤器之间没有直接的相互通信,他们是通过一个RequestContext的静态类来进行数据传递的.Requet ...
- Spring Cloud(十):服务网关zuul(转)
前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个 ...
- springCloud学习-消息总线(Spring Cloud Bus)
1.简介 Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现 ...
- SpringCloud学习笔记(二):微服务概述、微服务和微服务架构、微服务优缺点、微服务技术栈有哪些、SpringCloud是什么
从技术维度理解: 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底 地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事, 从技术角度看就是一种小而独立的处理过程,类 ...
- SpringCloud学习笔记(四):Eureka服务注册与发现、构建步骤、集群配置、Eureka与Zookeeper的比较
简介 Netflix在设计Eureka时遵守的就是AP原则 拓展: 在分布式数据库中的CAP原理 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性). Availab ...
- 《Spring技术内幕》学习笔记17——Spring HTTP调用器实现远程调用
1.Spring中,HTTPInvoker(HTTP调用器)是通过基于HTTP协议的分布式远程调用解决方案,和java RMI一样,HTTP调用器也需要使用java的对象序列化机制完成客户端和服务器端 ...
- SpringCloud学习笔记(1)----认识微服务与SpringCloud
1. 微服务是什么? 微服务是一种由多个服务组成的集合体,它属于一种软甲架构,在微服务中,它的每个服务都是独立存在的,微服务是一种去中心化的思想. 它具有开发简单,技术栈灵活,服务独立解耦,可用性高 ...
随机推荐
- Android WebView回退
在使用webView时,会出现点击按钮让网页页面回到上一个页面的需求,这时可以使用goBack方法. 但是有的安卓用户会习惯点击手机自带的返回按钮,这时会直接关闭当前的activity,而不是网页页面 ...
- JS中浮点数相加问题
https://blog.csdn.net/u012937029/article/details/61191512 采用IEEE 754 Floating-point的浮点数编码方式来表示浮点数 按I ...
- Eclipse配置SVN的几种方法及使用详情(此文章对Myeclipse同样适用)
一.在Eclipse里下载Subclipse插件 方法一:从Eclipse Marketplace里面下载 具体操作:打开Eclipse --> Help --> Eclipse Mark ...
- jquery.nicescroll.min.js滚动条插件的用法
1.jquery.nicescroll.min.js源码 /* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaper ...
- python3编写登录接口
#/usr/bin/env python#yehui'''作业一:博客 作业二:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定'''import getpass, os, pic ...
- mycql 基本mysql语句(增删改查)
操作文件夹(库) 增 (增加一个库 db1 ) create database db1 charset utf8; 查 # 查看当前创建的数据库 show create database db1; # ...
- JavaScript 实现留言框
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- jenkins 安装遇到的坑
最后启用安全的时候遇到一点坑,直接写了一个用户上去,没有勾选权限,然后在登录就说没有 overright/等,然后需要修改配置文件conf.xml 在主目录下. ...
- java实例化对象的五种方法
1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反射手段,调用java.lang.Cla ...
- 洛谷 P3133 [USACO16JAN]无线电联系Radio Contact
P3133 [USACO16JAN]无线电联系Radio Contact 题目描述 Farmer John has lost his favorite cow bell, and Bessie the ...