你的微服务还缺个“前台”?Spring Cloud Gateway部署指南来了!

你的微服务还缺个“前台”?Spring Cloud Gateway部署指南来了!

​ 在传统的单体应用中,所有的功能都打包在一个War包里,客户端直接请求这个应用即可。但当我们将应用拆分成一个个微小的服务(比如用户服务、商品服务、订单服务)后,客户端该如何是好?难道要记住每个服务的地址和端口,一个个去调用吗?这显然不现实。这时候,API网关就闪亮登场了。


一、什么是API网关?为什么需要它?

想象一下,你是一个现代化小区的保安亭。所有外来人员(客户端请求)想要进入小区,都必须先经过你这里。

  1. 路由:外卖小哥说“我去5号楼202送餐”,你告诉他“直走右转,前面那栋就是5号楼”(将请求路由到对应的楼栋/微服务)。
  2. 鉴权:访客说“我找朋友,住在8号楼301”,你会要求他登记身份证,或者让他用门禁卡刷一下,甚至通过楼宇对讲确认业主身份(身份认证与授权)。
  3. 限流:如果同时来了好几辆搬家公司的货车,你会说“地下车库车位紧张,请你们一辆一辆进去”(流量控制),防止堵塞小区道路。
  4. 日志:你会在登记本上记录下每个外来人员的进入时间、事由和要找的楼栋号(日志记录)。

API网关就是微服务架构中的这个“保安亭”。它为整个微服务小区提供了一个唯一的安全出入口,所有外部访问都必须先经过这里,由它来决定谁可以进、可以去哪、以及怎么进。

这样做的好处是:

  • 简化访客(客户端):访客(比如手机APP)不需要知道小区内部哪栋楼是“业主服务中心”,哪栋是“物业维修部”,他只需要找到小区大门(网关)就行。保安(网关)会告诉他该怎么走。
  • 集中安全管理:像登记、查证件、测体温这些安全工作,不需要每栋楼的业主自己在家门口完成。全部统一在保安亭(网关)处理,效率高,且标准统一。这就避免了每个微服务都要自己实现一套安全逻辑。
  • 内部灵活变动:小区内部可以施工、可以装修、甚至可以给楼栋重新编号(微服务重构、升级)。只要保安亭手里的最新地图(路由配置)更新了,他就能正确指路。对于外面的访客来说,他感觉不到任何变化,他依然只认小区大门。

二、Spring Cloud Gateway 核心原理

Spring Cloud Gateway是Spring官方基于Spring 5、Project Reactor和Spring Boot 2.0推出的新一代API网关,旨在提供一种简单而有效的方式来路由到API,并为它们提供横切关注点,如:安全性、监控/指标和弹性。

它的核心是建立在 “过滤器链”“路由断言” 的机制之上的。让我们来拆解一下它的工作流程,下图清晰地展示了这一过程:

转载请说明出处内容投诉
CSS教程网 » 你的微服务还缺个“前台”?Spring Cloud Gateway部署指南来了!

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买