如何设计自己的网关(一)

引言:

网关在生产环境中,不管以什么要的形式都在体现着种种作用。不同的人对于网关的认知是完全不同的。本文主要讲述API网关在应用开发中的应用场景。

各类网关介绍:

什么是网关:

网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同层—应用层。

什么是应用网关

应用网关是将一个网络与另一个网络进行相互连通,提供特定应用的网络间设备,应用网关必须能实现相应的应用协议。应用网关可以看做是运行于要求特定业务的客户机与提供所需业务的服务器之间的中间过程。应用网关在这类过程中,从用户侧来看它起着服务器的作用,从服务器侧来看它是一个客户机。

什么是API网关

API网关是微服务架构(Microservices Architecture)标准化服务的模式。API网关定位为应用系统服务接口的网关,区别于网络技术的网关,但是原理则是一样。API网关统一服务入口,可方便实现对平台众多服务接口进行管控,对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制,甚至基于API调用的计量或者计费等等。

API网关

API网关现有产品:

1、基于nginx平台实现的网关有:KONG、API Umbrella

2、自研发的网关有:apigee、Zuul

API网关适用场景:

对于当前互联网环境对于微服务的火热程度,肯定会有人认为API网关适用于微服务架构,个人不怎么这么认为。对于API网关我们要明确知道它替代或者说他提供的功能是哪些,然后才能明确表现出API网关的场景。

API网关整体结构:

网关结构

API网关应该具备哪些功能:

1:日志记录

2:安全认证

3:路由

4:黑白名单

5:协议转换

API网关您应该关心的内容:

1:API服务的管理(您是人为维护还是注册与发现完全取决你的使用场景,如果您只是一个单机版本服务,那么您还是人为维护你的API服务吧)

2:路由策略(如果是单机版本则无需考虑)

3:API网关除了路由是核心功能的话,安全认证也是一定在API网关中实现的功能。

API网关的技术实现

如果你想重新设计一个API网关的话,那么这其实是一个远大的任务,并且你需要了解的东西还很多很多。

现在我们准备站在巨人的肩膀上基于Zuul来准备实现一个简单单机版本的Zuul吧。

API网关实现前的准备:

定义一个需求:定义一个需求才能明确你的API网关的起的作用。

定义一个场景:定义你使用场景,才能不会过度的设计无需功能

定义一个语言:使用一个您最熟悉的语言来进行开发

定义一些非功能要求:非功能需求往往有时候会成为你的API网关的成败与否,例如性能,不能因为你的API网关而导致整体性能低下。

就到这里吧。本周日,会基于API网关实现前的准备,做一个详细阐述,敬请期待。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • APIGateway(APIGW/API网关),顾名思义,是出现在系统边界上的一个面向API的、串行集中式的强管控...
    零一间阅读 6,241评论 2 56
  • 看看玩过的带音效的绘本,先来一张我买过的发声书大合影,好像是多了点,推荐图二,图一是败家妈妈通病,一看有券打...
    看看妈妈阅读 847评论 0 3
  • 白雪覆盖的阿尔卑斯山脉 俯视着它脚下的 辽阔草地 在草地的正中央 矗立着 维斯朝圣教堂 在阳光的折射下 周边树木的...
    一叶茶阅读 203评论 0 2
  • 台风过后的早上,雨走了,可空气还是湿漉漉的,但心情却大美。不由地冒出个念头,想去爬山——梧桐山。来深圳这么久,我...
    闲趣的肖小姐阅读 851评论 0 0