routing zuul_金三银四跳槽季快到了:送上Spring cloud全家桶系列之Zuul
一.前言
金三银四跳槽季快到了:送上Spring cloud全家桶系列之Eureka
金三银四跳槽季快到了:送上Spring cloud全家桶系列之Feign
金三银四跳槽季快到了:送上Spring cloud全家桶系列之Ribbon
前面三篇文章已经分享了Spring Cloud家族中的三个组件了,今天来和大家讲讲Spring Cloud中的另一个组件Zuul
二.前情回顾
在介绍Ribbon组件时,我们的订单支付功能的大体架构已经出来了,架构如下:
现在新的问题又来了,我们的项目最终是要落地对外提供服务,什么意思呢?就是说无论你有多少个服务,只要是open Service ,例如订单服务中的支付,机票服务中的查询,积分服务中的查询等等各种服务吧,都是面向用户服务的,但是我们订单服务、机票服务、积分服务以及其他服务都是部署到不同的服务器上的,例如像下面这样:
加入用户要查询一下订单状态怎么查呢?像下面这样:http://92.168.11.167:8000/search....,如果公司内部项目话用户肯定会崩溃的,如果是互联网项目那么一定不会用用户喜欢的!!!解决这个问题就要用到Spring Cloud家族中的Zuul组件了!!
三.Zuul
引入Zuul组件后,我们的项目架构变成下面的样子了:
Zuul做为网关层,其本身也是一个微服务,跟其它服务order-Service,ticket-Service, ... xx-Service一样,都注册在eureka server上,可以相互发现,zuul能感知到哪些服务在线,同时通过配置路由规则,可以将请求自动转发到指定的微服务上。
同时对于一些公用的预处理,比如:权限认证,token合法性校验等,可以放在过滤器(ZuulFilter)里处理,这样后端服务以后新增了服务,zuul层几乎不用修改。
四.Zuul的底层实现原理
Zuul的底层主要是依赖于过滤器来实现对外服务的控制。Filter的生命周期有4个,分别是“PRE”、“ROUTING”、“POST”、“ERROR”
Zuul大部分功能都是通过过滤器来实现的,这些过滤器类型对应于请求的典型生命周期。
- PRE: 这种过滤器在请求被路由之前调用。我们可利用这种过滤器实现身份验证、在集群中选择请求的微服务、记录调试信息等。
- ROUTING:这种过滤器将请求路由到微服务。这种过滤器用于构建发送给微服务的请求,并使用Apache HttpClient或Netfilx Ribbon请求微服务。
- POST:这种过滤器在路由到微服务以后执行。这种过滤器可用来为响应添加标准的HTTP Header、收集统计信息和指标、将响应从微服务发送给客户端等。
- ERROR:在其他阶段发生错误时执行该过滤器。 除了默认的过滤器类型,Zuul还允许我们创建自定义的过滤器类型。例如,我们可以定制一种STATIC类型的过滤器,直接在Zuul中生成响应,而不将请求转发到后端的微服务
五.结束语
这几天连续分享了Spring Cloud全家桶系列:Eureka、Feign,Ribbon、Zuul等核心组件,目的就是为了和大家分享一些个人的见解,如果有什么不同的意见还希望大家不吝赐教啊,记得关注【不爱八阿哥】,我会定期分享新内容,让我们共同进步吧!
最后想要说的是不要为了微服务而微服务,一定要多方考虑,比如人员,成本,还有业务是不是需要微服务,前面几篇分享的知识虽然能够实现订单支付的功能了,但是离落地还有一定的距离,因为落地要考虑很多方面:高可用啊,灾备等等。现在我们的项目用的是一个Eureka Server,真正落地一台server肯定是不够的,还有就是我们的服务也不可能只部署一台服务器吧,好多问题需要考虑呢!!!
好了,Spring Cloud全家桶系列文章就告一段落了,希望能提起大家对Spring Cloud的学习兴趣,那么我的目的也就达到了,如果大家有什么问题可以评论或者私信我【不爱八阿哥】!!!
routing zuul_金三银四跳槽季快到了:送上Spring cloud全家桶系列之Zuul相关推荐
- 【金三银四跳槽季】Java工程师如何在1个月内做好面试准备?
点击上方"蓝字", 右上角选择"设为星标" 周一至周五早11点半!精品文章准时送上! 本文来自石杉的架构笔记 目录 一.写在前面 二.技术广度的快速准备 三.技 ...
- 【金三银四跳槽季】Java工程师的面试之路,需要“解锁”哪些技术盲点?
春节长假转眼已过,即将迎来的是一年一度的金三银四跳槽季. 相信大家在应聘一些中大型互联网公司的Java工程师岗位时遇到了不少困惑. 举个例子:有朋友说他在面试前其实也做了精心准备,网上搜集了不少Jav ...
- 金三银四跳槽季,这份宝典让你一路开挂
哈喽,小伙伴们好,金三银四跳槽季将至,估计小伙伴们都在备战,来问问题的也多了起来,尤其是问OOM与JVM调优相关的问题.只能感叹,大家都太不容易了.明明只是小白.明明只想找份工作.明明没有机会接触到O ...
- 金三银四跳槽季求职指南
又到了一年一度的金三银四跳槽季了.大家伙儿肯定都有一定的想法. "出去试试水,看看自己市场价值" "这家早干烦了,赶紧换,不想当工具人了" "老板有毛 ...
- 过五关斩六将,一举拿下首张“金三银四”跳槽季的面试offer!熬夜成熊猫眼“筛选”出的面试真题
人往高处走水往低处流,十二月已来,"金三银四"招聘季还会远吗? 转眼2021年招聘季就要来了,没点真本事真技术,没点面试经验,不了解点职场套路,如何过五关斩六将?如何打败面试官?如 ...
- 软件测试人员如何在“金三银四”跳槽季找到理想工作?
每年的"金三银四"都是职场人跳槽的绝佳时机,很多人都蠢蠢欲动,希望能拿更高的薪资,能去更好的平台- 但同时很多人也在犹豫和观望,因为不确定自己跳槽后能否变得更好,这也成了某平台圆桌 ...
- “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
如果第二次看到我的文章,欢迎下方扫码订阅我的个人公众号(跨界架构师)哟~ 本文长度为5723字,建议阅读15分钟. 坚持原创,每一篇都是用心之作- 这是一篇以程序员视角写的文章,但是内容是互联网行业通 ...
- “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面 1
如果第二次看到我的文章,欢迎文末扫码订阅我的公众号(跨界架构师)哟~ > 本文长度为5723字,建议阅读15分钟. 坚持原创,每一篇都是用心之作- 这是一篇以程序员视角写的文章,但是内容是互联 ...
- 金三银四跳槽季,java面试突击(100题)进大厂就这么简单
1.谈谈对面向对象思想的理解 首先,谈谈"面向过程"vs"面向对象" 我觉得这两者是思考角度的差异,面向过程更多是以"执行者"的角度来思考问 ...
最新文章
- C++/C++11中引用的使用
- 工作笔记-2019.7.8
- 单源最短路径(Dijkstra算法)
- SAP gateway 后台OData model data查看工具
- 左耳朵耗子:不灌鸡汤,说真的年龄渐长,技术人的发展之路该怎么走
- linux下解包bin二进制文件_linux下如何使用docker二进制文件安装_docker离线安装
- GoEasy小程序即时通讯源码 v1.1.0基于GoEasy提供的websocket通讯服务
- 电脑ping服务器显示传输失败,Win10系统ping时出现传输失败常见故障解决办法
- 【论文写作】毕业论文中容易栽的九个坑
- Github上找到开源的《植物大战僵尸》代码分享~
- adb命令自动旋转屏幕
- 通用API接口签名算法(参考淘宝)
- 高山大学2019级学员名单:但斌、王高飞、胡玮炜等入选
- java项目前有红色叉号_eclipse导入项目后出现红色叉号的解决方案
- 调和级数发散的简短证明
- 获取地理位置定位信息-app端
- java isinterrupted_JAVA多线程之中断机制(stop()、interrupted()、isInterrupted())
- 一些常用的网站或工具(二)
- 历数金融危机 摘自http://www.ftchinese.com/sc/index.jsp
- Maven - 8、大型Maven项目,快速按需任意构建