5G|微服务技术栈:API网关中心,落地实现方案

文章图片

一、服务网关简介1、外观模式
客户端与各个业务子系统的通信必须通过一个统一的外观对象进行 , 外观模式提供一个高层次的接口 , 使得子系统更易于使用:
简单说一下外观模式 , 网关和这个模式很像 , 但是比外观模式复杂 , 模式 , 结构 , 原则这些都是通用的 , 在各种架构或组件中使用 。
2、网关简介
微服务网关从感觉上 , 很像是:拦截器+路由+过滤器 , 拦截请求 , 系列基础处理 , 路由转发到指定服务 。
服务网关在整个架构体系上也是一个服务器 , 作为请求的唯一入口 , 与外观模式十分类似 , 在网关层处理所有的非业务功能 , 为客户端提供定制的API , 在网关层通常会执行如下操作:如权限校验、监控、负载均衡、缓存、日志、限流、等等 。
二、网关模式1、模式对比
这里对比常用的请求服务管理模式 , 和网关模式 , 如图
在没有网关的情况下 , 微服务架构会在业务层服务上提供一个API服务 , 用来接收参数 , 例如Client-API , 通常会根据系统模块划分多个API , 例如 , 运营系统 , 用户系统等 。
- 请求统一进入Client-API服务 ;
- Client-API经过鉴权 , 限流 , 路由等操作;
- 【5G|微服务技术栈:API网关中心,落地实现方案】如果请求通过 , 会转发到相应业务服务上;
- 如果请求被拦截 , 会直接返回给客户端;
- Client-API集成所有业务服务的开放接口;
网关模式
在业务服务层上 , 添加一层网关控制 , 在服务网关中可以完成一系列的横切非业务功能:
- 客户端请求在网关层做统一拦截;
- 网关上执行:路由/鉴权/限流/降级等操作;
- 网关判断是转发请求还是直接响应客户端;
2、多重网关
在大型复杂的系统中 , 通常会对网关做分层管理 , 把一类业务规划到一个网关下 , 避免网关过于臃肿 , 方便维护和管理:
总网关:通用常用来做路由转发功能;
模块网关:分类的业务服务聚合网关 , 对这类服务的做非业务性操作 , 最后请求转发到具体服务上 , 在数据类平台上 , 通常对数据通道(流入流出)做一层独立的服务网关;对数据分析类服务做一层独立网关;基本是根据服务的使用情况来划分 , 这样避免单层服务网关过于复杂的情况 。
三、核心功能1、配置层面
服务发现
网关应该有服务发现功能 , 通过统一注册中心 , 获取服务列表 , 这样才能执行统一代理服务和路由转发功能 。
路由请求
植入网关层服务之后 , 客户端不知道自己请求的是哪个具体的服务 , 只需要把请求转发给网关 , 网关放行之后会把请求路由到指定业务服务上 。
负载均衡
网关连接的服务实例可能是集群模式存在 , 所以网关还可以对各个服务实例上执行负载均衡策略 , 常见的策略就是服务轮询或者按权重路由 。
2、定制开发
定制开发例如:权限校验 , 日志集成 , 接口限流 , 等相关功能 , 需要和数据库交互 , 可以做成独立服务 , 在服务中实现具体的处理逻辑 , 网关层直接调用即可 。
四、网关组件1、Zuul组件
Zuul网关主要提供动态路由 , 监控 , 弹性 , 安全管控等功能 。 在分布式的微服务系统中 , 系统被拆为了多个微服务模块 , 通过zuul网关对用户的请求进行路由 , 转发到具体的后微服务模块中 , 一个开源的基于JVM路由和服务端的负载均衡器 。
2、Tyk组件
Tyk是一个开源的、轻量级的、快速可伸缩的API网关 , 支持配额和速度限制 , 支持认证和数据分析 , 支持多用户多组织 。 基于go语言编写 , 在Java架构系统中使用很少 。
3、Kong组件
Kong是一款基于Nginx+Lua编写的高可用 , 可扩展的开源网关项目 , 由Mashape公司开放 。 核心是实现数据库抽象 , 路由和插件管理 , 插件可以存在于单独的代码库中 , 并且可以在几行代码中注入到请求生命周期的任何位置 。 提供易于使用的RESTfulAPI来操作和配置API管理 , 并且可以水平扩展多个Kong服务器 , 通过前置的负载均衡配置把请求均匀地分发到各个Server , 来应对高并发的网络请求 。
推荐阅读
- 小龙虾|三农探析:池塘养殖小龙虾如何高产?高产养殖技术全解析
- 显微镜|假如人类可以把显微镜提升到40亿倍,是不是全新的宇宙观?
- 各地地方风味特色菜!
- 猜成语|看图猜成语:稍微转一转,生命更精彩!
- 布法罗大学|新工具可以通过眼睛里的微小反射来识别出深度伪造照片
- 大棚蔬菜|早春大棚蔬菜病虫害防治技术要点,老农讲得太实用了
- 微创手术|女大学生双手“挥汗如雨” 微创手术20分钟搞定顽疾
- 松树|松烂皮病的发生规律和防治技术-松树枯梢病防治技术
- 中煤科工集团|中煤科工集团西安研究院研发煤层气(瓦斯)地面抽采新技术
- 航空航天|医学和航空航天跨专业碰撞,胡盛寿院士团队打破pVAD技术海外垄断
