美文网首页微服务网关
第一章 初识微服务网关

第一章 初识微服务网关

作者: 原水寒 | 来源:发表于2017-04-29 16:13 被阅读239次

一、什么是服务网关

服务网关 = 路由转发 + 过滤器

路由转发:接收一切外界请求,转发到后端的微服务上去;
过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器完成。

二、为什么需要服务网关

上述所说的横切功能(以权限校验为例)可以写在三个位置:

  • 每个服务自己实现一遍
  • 写到一个公共的服务中,然后其他所有服务都依赖这个服务
  • 写到服务网关的前置过滤器中,所有请求过来进行权限校验

第一种,缺点太明显,基本不用;
第二种,相较于第一点好很多,代码开发不会冗余,但是有两个缺点:

  • 由于每个服务引入了这个公共服务,那么相当于在每个服务中都引入了相同的权限校验的代码,使得每个服务的jar包大小无故增加了一些,尤其是对于使用docker镜像进行部署的场景,jar越小越好;
  • 由于每个服务都引入了这个公共服务,那么我们后续升级这个服务可能就比较困难,而且公共服务的功能越多,升级就越难,而且假设我们改变了公共服务中的权限校验的方式,想让所有的服务都去使用新的权限校验方式,我们就需要将之前所有的服务都重新引包,编译部署。

而服务网关恰好可以解决这样的问题:

  • 将权限校验的逻辑写在网关的过滤器中,后端服务不需要关注权限校验的代码,所以服务的jar包中也不会引入权限校验的逻辑,不会增加jar包大小;
  • 如果想修改权限校验的逻辑,只需要修改网关中的权限校验过滤器即可,而不需要升级所有已存在的微服务。

所以,需要服务网关!!!

三、服务网关技术选型

笔者准备自建一个轻量级的服务网关,技术选型如下:

  • 开发语言:java + groovy
  • 微服务基础框架:springboot
  • 网关基础组件:netflix zuul

当前现成的基于zuul开发完成的网关有springcloud,使用起来很方便,但是不方便定制,而且有些重。

相关文章

  • 2018-03-27

    微服务网关 什么是微服务网关 微服务网关也称为服务网关或者API网关。服务网关 = 路由转发 + 过滤器...

  • jhipster快速启动微服务

    jhipster快速启动微服务 jh微服务最简启动需要注册中心、网关、业务微服务A。启动顺序注册中心、网关、微服务...

  • 第一章 初识微服务网关

    一、什么是服务网关 路由转发:接收一切外界请求,转发到后端的微服务上去;过滤器:在服务网关中可以完成一系列的横切功...

  • day17项目【权限管理】-02 SpringCloud【Gat

    01-GATEWAY网关 一、网关基本概念 1、API网关介绍 API网关出现的原因是微服务架构的出现,不同的微服...

  • SpringCloud(六):搭建API网关服务

    一、概念部分 1.什么是API网关?api网关就是应用程序接口网关,在微服务架构中分布着许多微服务,这些微服务不直...

  • 微服务(二 三)

    使用API网关(二) 本书关于设计,构建和部署微服务的第一章介绍了微服务架构模式。 讨论了应用这种架构的优缺点,以...

  • 限流10万QPS、跨域、过滤器、令牌桶算法-网关Gateway内

    一、微服务网关Spring Cloud Gateway 1.1 导引 文中内容包含:微服务网关限流10万QPS、跨...

  • Getway网关管理ZUUL

    Getway网关管理ZUUL 1.ZUUL微服务网关 微服务架构体系中,通常一个业务系统会有很多的微服务,比如:O...

  • 对比微服务网关 Kong 和 Apisix

    对比微服务网关 Kong 和 Apisix 什么是微服务网关? 网关,就是指一个流量的集中式出入口。而 API G...

  • API网关之缓存篇

    构建企业级网关的时候与构建微服务网关的主要区别在于,往往需要将API网关用作统一网关,也就是意味着除了要接管微服务...

网友评论

    本文标题:第一章 初识微服务网关

    本文链接:https://www.haomeiwen.com/subject/qtbzzttx.html