上集,在架构知识+分布式微服务+高并发高可用高性能知识序幕就此拉开(一:总览篇)中,说到了 当用户请求过来时,这个请求或者说URL先到服务调用端
【咱们之前的项目中的Controller其实就算是一个服务调用方,用来接受请求】,当然啦,由于咱们的需求不同,咱们可以把controller放到不同的服务器中作为单独的节点
。
PART1:网关
- 网关:其实网关主要的任务就是一件事:
请求过滤。所有的服务都有他来路由【把来的URL,拦截住URL请求映射到服务调用端中的哪个Controller中】
- 我们不管是直接上手微服务项目,还是把原来的老旧项目拆分为微服务项目,里面肯定免不了要涉及到很多服务,就拿XXX高速项目举例。这个XXX高速项目可以拆分为数据管理【历史数据、实时数据、预测数据】、视频监控、预警管理等。假设有很多个高速都会有这三个模块,没有网关的话,我们就需要在每个服务中单独实现这三个,这使得我们做了
很多重复的事情并且没有一个全局的视图
来统一管理这些功能。- 再比如现阶段常见的一些开源项目中的常见功能,请求转发、安全认证(身份/权限认证)、流量控制、负载均衡、降级熔断、日志、监控,网关可以拦截一切请求,所以没必要为每个用户都准备一个权限认证。
在网关这个服务中做一个统一的权限认证,就让我网关拦截住就行
,其实是一个道理。
- 再比如现阶段常见的一些开源项目中的常见功能,请求转发、安全认证(身份/权限认证)、流量控制、负载均衡、降级熔断、日志、监控,网关可以拦截一切请求,所以没必要为每个用户都准备一个权限认证。
- 常见的网关服务:
- Netflix Zuul:Zuul 是 Netflix 开发的一款提供动态路由、监控、弹性、安全的网关服务
- 学习地址:
- Github 地址 : https://github.com/Netflix/zuul
- 官方 Wiki : https://github.com/Netflix/zuul/wiki
- 学习地址:
- Spring Cloud Gateway、Kong
- Netflix Zuul:Zuul 是 Netflix 开发的一款提供动态路由、监控、弹性、安全的网关服务
- 我们不管是直接上手微服务项目,还是把原来的老旧项目拆分为微服务项目,里面肯定免不了要涉及到很多服务,就拿XXX高速项目举例。这个XXX高速项目可以拆分为数据管理【历史数据、实时数据、预测数据】、视频监控、预警管理等。假设有很多个高速都会有这三个模块,没有网关的话,我们就需要在每个服务中单独实现这三个,这使得我们做了
未完待续…
巨人的肩膀:
javaGuide
B战各位老师
分布式服务框架原理与实践_李林锋著