Netty API网关实操系列(一)

本文涉及的产品
云原生 API 网关,700元额度,多规格可选
简介: Netty API网关实操系列(一)

一、什么是API网关?

API网关是一种服务器,作为应用程序编程接口(API)的入口点,用于接收和处理来自外部应用程序的请求,可以将其视为一个管理API访问的中间件,在请求和响应之间进行转换,路由,安全检查和其他处理。

如果将API网关比喻为地铁的进站口,那么它可以更好地理解其重要作用。就像地铁的进站口一样,API网关是所有流量进入系统的入口点,需要进行安全检查和身份验证,以确保只有授权的用户和应用程序可以访问API。

当系统中的流量超过API的承受能力时,API网关可以执行限流操作,以确保系统的稳定性和可靠性。这可以通过减少同时连接的数量或限制请求的速率来实现。API网关还可以执行其他 任务,如日志记录,监控和分析。以便很好地了解应用程序的使用情况和性能。

因此,API网关对于保障应用程序的平稳运行和安全稳定性至关重要。它充当着整个系统的流量大门,管理着所有API访问,确保只有经过授权的请求才能进入系统,并提供适当的响应。

比如用nginx来进行系统内部和系统外部的互通,在没有微服务的时候,nginx就叫做网关。nginx承担了限流,负载均衡,安全保护的职责。

93b4e71018d1dd328e53791a037b9bb8.png

引入微服务的话,在微服务的内部和外部就有微服务网关。网关是打通内外,微服务网关是打通微服务的内部和外部,因为微服务的IP是漂移的,特别在K8S上微服务IP是漂移的,没办法做配置,而且是需要动态伸缩的,也是来不及做配置的,所以需要微服务动态的注册和发现,所以需要带有服务治理能力的网关-微服务网关。nginx是无法对微服务做动态的配置和伸缩。而且微服务的ip漂移之后,nginx也是搞不定的,所以这个时候有了nginx网关和微服务网关。

API网关:系统和系统之间,系统有的是单体架构,有的是微服务架构,有的是云原生架构,是什么语言开发的系统都没有关系,只要他们能够互相调用就可以了。比方说,其中一个系统有一个接口要给100个系统进行调用。这个如果这个系统的接口要修改的话,就要通知100个系统,工作 量就很大的.

2997866eba1b67501ab68dccf87985df.png

我们这个时候就可以弄个API网关,还需要有一个DashBoard控制台/运营平台/服务总线平台/工单平台:是用来管理API的。之前没有API网关是点对点对接。现在是系统和API网关对接,然后在DashBoard控制台注册下API,我们的API通过API网关给发布出去,然后其他系统谁来调用,控制平台来申请,审核的话由运维人员来审核,使用的时候是API网关来使用。所以API网关的价值是很巨大的,API网关是系统和系统之间的高速公路。

d4d2db18f11e31dc824a582cf04ff0c9.png

高速公路API网关必须要做到三高,高性能,高可靠,高并发。所以要开发API网关需要有两个部分,一个是高并发的部分:API网关,一个是低并发的部分,运维平台:crud的开发

相关文章
|
2月前
|
API
Netty API网关实操系列(三)
Netty API网关实操系列(三)
|
2月前
|
存储 运维 架构师
Netty API网关实操系列(二)
Netty API网关实操系列(二)
|
算法 前端开发 Java
Netty API使用总结
Netty API使用总结
74 0
|
编解码 网络协议 安全
Netty干货分享:京东京麦的生产级TCP网关技术实践总结
1、引言 京东的京麦商家后台2014年构建网关,从HTTP网关发展到TCP网关。在2016年重构完成基于Netty4.x+Protobuf3.x实现对接PC和App上下行通信的高可用、高性能、高稳定的TCP长连接网关。
4888 0
|
API
HDFS的API案例实操
HDFS的API案例实操
108 0
|
XML 存储 缓存
API 介绍 #私藏项目实操分享#
API 介绍 #私藏项目实操分享#
166 0
API 介绍 #私藏项目实操分享#
|
XML JSON 运维
基于Netty实践搭建的物联网网关iot-gatway
物联网平台是很大的一个摊子,在设计上,此次上传了关系设计图,业务框架设计图欠奉。在代码上,我目前也只是做了两版版网关,支持多规约;多规约组服务,目前也只支持3761规约的组装和解析;接口做了一个框架,改了几版,开始就是提供jar包调用,后来改成zk+dubbo注册模式,后来改成springboot的Restful服务;数据二次处理也是搭了个框架,具体看业务。
1887 0
基于Netty实践搭建的物联网网关iot-gatway
|
存储 缓存 NoSQL
跟着源码学IM(十一):一套基于Netty的分布式高可用IM详细设计与实现(有源码)
本文将要分享的是如何从零实现一套基于Netty框架的分布式高可用IM系统,它将支持长连接网关管理、单聊、群聊、聊天记录查询、离线消息存储、消息推送、心跳、分布式唯一ID、红包、消息同步等功能,并且还支持集群部署。
13497 1
|
6月前
|
消息中间件 Oracle Dubbo
Netty 源码共读(一)如何阅读JDK下sun包的源码
Netty 源码共读(一)如何阅读JDK下sun包的源码
127 1
|
11月前
|
NoSQL Java Redis
跟着源码学IM(十二):基于Netty打造一款高性能的IM即时通讯程序
关于Netty网络框架的内容,前面已经讲了两个章节,但总归来说难以真正掌握,毕竟只是对其中一个个组件进行讲解,很难让诸位将其串起来形成一条线,所以本章中则会结合实战案例,对Netty进行更深层次的学习与掌握,实战案例也并不难,一个非常朴素的IM聊天程序。 原本打算做个多人斗地主练习程序,但那需要织入过多的业务逻辑,因此一方面会带来不必要的理解难度,让案例更为复杂化,另一方面代码量也会偏多,所以最终依旧选择实现基本的IM聊天程序,既简单,又能加深对Netty的理解。
160 1