一.前言

金三银四跳槽季快到了:送上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相关推荐

  1. 【金三银四跳槽季】Java工程师如何在1个月内做好面试准备?

    点击上方"蓝字", 右上角选择"设为星标" 周一至周五早11点半!精品文章准时送上! 本文来自石杉的架构笔记 目录 一.写在前面 二.技术广度的快速准备 三.技 ...

  2. 【金三银四跳槽季】Java工程师的面试之路,需要“解锁”哪些技术盲点?

    春节长假转眼已过,即将迎来的是一年一度的金三银四跳槽季. 相信大家在应聘一些中大型互联网公司的Java工程师岗位时遇到了不少困惑. 举个例子:有朋友说他在面试前其实也做了精心准备,网上搜集了不少Jav ...

  3. 金三银四跳槽季,这份宝典让你一路开挂

    哈喽,小伙伴们好,金三银四跳槽季将至,估计小伙伴们都在备战,来问问题的也多了起来,尤其是问OOM与JVM调优相关的问题.只能感叹,大家都太不容易了.明明只是小白.明明只想找份工作.明明没有机会接触到O ...

  4. 金三银四跳槽季求职指南

    又到了一年一度的金三银四跳槽季了.大家伙儿肯定都有一定的想法. "出去试试水,看看自己市场价值" "这家早干烦了,赶紧换,不想当工具人了" "老板有毛 ...

  5. 过五关斩六将,一举拿下首张“金三银四”跳槽季的面试offer!熬夜成熊猫眼“筛选”出的面试真题

    人往高处走水往低处流,十二月已来,"金三银四"招聘季还会远吗? 转眼2021年招聘季就要来了,没点真本事真技术,没点面试经验,不了解点职场套路,如何过五关斩六将?如何打败面试官?如 ...

  6. 软件测试人员如何在“金三银四”跳槽季找到理想工作?

    每年的"金三银四"都是职场人跳槽的绝佳时机,很多人都蠢蠢欲动,希望能拿更高的薪资,能去更好的平台- 但同时很多人也在犹豫和观望,因为不确定自己跳槽后能否变得更好,这也成了某平台圆桌 ...

  7. “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面

    如果第二次看到我的文章,欢迎下方扫码订阅我的个人公众号(跨界架构师)哟~ 本文长度为5723字,建议阅读15分钟. 坚持原创,每一篇都是用心之作- 这是一篇以程序员视角写的文章,但是内容是互联网行业通 ...

  8. “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面 1

    如果第二次看到我的文章,欢迎文末扫码订阅我的公众号(跨界架构师)哟~  > 本文长度为5723字,建议阅读15分钟. 坚持原创,每一篇都是用心之作- 这是一篇以程序员视角写的文章,但是内容是互联 ...

  9. 金三银四跳槽季,java面试突击(100题)进大厂就这么简单

    1.谈谈对面向对象思想的理解 首先,谈谈"面向过程"vs"面向对象" 我觉得这两者是思考角度的差异,面向过程更多是以"执行者"的角度来思考问 ...

最新文章

  1. C++/C++11中引用的使用
  2. 工作笔记-2019.7.8
  3. 单源最短路径(Dijkstra算法)
  4. SAP gateway 后台OData model data查看工具
  5. 左耳朵耗子:不灌鸡汤,说真的年龄渐长,技术人的发展之路该怎么走
  6. linux下解包bin二进制文件_linux下如何使用docker二进制文件安装_docker离线安装
  7. GoEasy小程序即时通讯源码 v1.1.0基于GoEasy提供的websocket通讯服务
  8. 电脑ping服务器显示传输失败,Win10系统ping时出现传输失败常见故障解决办法
  9. 【论文写作】毕业论文中容易栽的九个坑
  10. Github上找到开源的《植物大战僵尸》代码分享~
  11. adb命令自动旋转屏幕
  12. 通用API接口签名算法(参考淘宝)
  13. 高山大学2019级学员名单:但斌、王高飞、胡玮炜等入选
  14. java项目前有红色叉号_eclipse导入项目后出现红色叉号的解决方案
  15. 调和级数发散的简短证明
  16. 获取地理位置定位信息-app端
  17. java isinterrupted_JAVA多线程之中断机制(stop()、interrupted()、isInterrupted())
  18. 一些常用的网站或工具(二)
  19. 历数金融危机 摘自http://www.ftchinese.com/sc/index.jsp
  20. Maven - 8、大型Maven项目,快速按需任意构建

热门文章

  1. Nginx初探索之安装、启动、关闭和重启
  2. WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式
  3. 运算符和||运算符的优先级问题 专题
  4. 【知乎】神回答,我们吐的不是槽 233
  5. 【挨踢人物传】tao61:做一个许三多式的IT攻城狮(第2期)
  6. centos7配置静态ip地址
  7. 选购多媒体音箱常见哪些误区?
  8. 3.2_栈_链式存储结构(链表形式)
  9. 09.显式的实现接口的方法
  10. shell if判断语句