微服务网关如何实现高效处理长尾请求?

2026-04-19 13:240阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计4555个文字,预计阅读时间需要19分钟。

微服务网关如何实现高效处理长尾请求?

1+ 微服务网关 + 1.1 为什么需要网关?如果想在微服务架构中实现权限校验功能,怎么实现?

1.每个服务自己实现一轮认证

2.写到一个公共的服务中,其他所有服务都依赖这个服务

3.写到网关中,所有请求都先经过网关进行权限校验

1 微服务网关

1.1 为什么需要网关

如果想在微服务架构中实现 权限校验功能,怎么实现?

1. 每个服务自己实现一遍

2. 写到一个公共的服务中,然后其他所有服务都依赖这个服务

3. 写到服务网关的前置过滤器中,所有请求过来进行权限校验

第一种,缺点太明显,基本不用;

第二种,相较于第一点好很多,代码开发不会冗余,但是有两个缺点:

  • 由于每个服务引入了这个公共服务,那么相当于在每个服务中都引入了相同的权限校验的代码,使得每个服务的jar包大小无故增加了一些,尤其是对于使用docker镜像进行部署的场景,jar越小越好;
  • 由于每个服务都引入了这个公共服务,那么我们后续升级这个服务可能就比较困难,而且公共服务的功能越多,升级就越难,而且假设我们改变了公共服务中的权限校验的方式,想让所有的服务都去使用新的权限校验方式,我们就需要将之前所有的服务都重新引包,编译部署。
    第三种,服务网关恰好可以解决这样的问题:
  • 将权限校验的逻辑写在网关的过滤器中,后端服务不需要关注权限校验的代码,所以服务的jar包中也不会引入权限校验的逻辑,不会增加jar包大小;
  • 如果想修改权限校验的逻辑,只需要修改网关中的权限校验过滤器即可,而不需要升级所有已存在的微服务。
阅读全文

本文共计4555个文字,预计阅读时间需要19分钟。

微服务网关如何实现高效处理长尾请求?

1+ 微服务网关 + 1.1 为什么需要网关?如果想在微服务架构中实现权限校验功能,怎么实现?

1.每个服务自己实现一轮认证

2.写到一个公共的服务中,其他所有服务都依赖这个服务

3.写到网关中,所有请求都先经过网关进行权限校验

1 微服务网关

1.1 为什么需要网关

如果想在微服务架构中实现 权限校验功能,怎么实现?

1. 每个服务自己实现一遍

2. 写到一个公共的服务中,然后其他所有服务都依赖这个服务

3. 写到服务网关的前置过滤器中,所有请求过来进行权限校验

第一种,缺点太明显,基本不用;

第二种,相较于第一点好很多,代码开发不会冗余,但是有两个缺点:

  • 由于每个服务引入了这个公共服务,那么相当于在每个服务中都引入了相同的权限校验的代码,使得每个服务的jar包大小无故增加了一些,尤其是对于使用docker镜像进行部署的场景,jar越小越好;
  • 由于每个服务都引入了这个公共服务,那么我们后续升级这个服务可能就比较困难,而且公共服务的功能越多,升级就越难,而且假设我们改变了公共服务中的权限校验的方式,想让所有的服务都去使用新的权限校验方式,我们就需要将之前所有的服务都重新引包,编译部署。
    第三种,服务网关恰好可以解决这样的问题:
  • 将权限校验的逻辑写在网关的过滤器中,后端服务不需要关注权限校验的代码,所以服务的jar包中也不会引入权限校验的逻辑,不会增加jar包大小;
  • 如果想修改权限校验的逻辑,只需要修改网关中的权限校验过滤器即可,而不需要升级所有已存在的微服务。
阅读全文