![](https://img-blog.csdnimg.cn/direct/0b0bcf5968eb479280b26da9f263fb80.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
API网关 内容分享
文章平均质量分 92
API网关
之乎者也·
机车疾驰在路上,代码飞舞在指尖,热血与逻辑交织,创造属于我的数字世界。
展开
-
架构设计内容分享(一百八十三):微服务架构中的网关技术选择策略
在使用单体应用程序架构时,客户端(无论是Web还是移动端)通常通过向后端应用程序发起一次REST调用来获取数据。负载均衡器将请求路由至N个相同的应用程序实例中的一个。随后,应用程序会查询各种数据库表,并将响应返回给客户端。然而,在微服务架构中,单体应用程序被拆分成多个微服务。若直接将所有微服务对外暴露,可能会导致安全方面的各种问题,同时也会增加内外耦合的严重性。客户端可以直接向每个微服务发送请求,其问题主要如下:• 客户端需求和每个微服务暴露的细粒度 API 不匹配。原创 2024-02-13 17:58:56 · 913 阅读 · 0 评论 -
云原生内容分享(二十四):云原生 EgressGateway,适用于 Calico,Flannel 和 Spiderpool 等 CNI 的出口网关
左侧节点被 EgressPolicy 策略命中的 Pod 流量,会通过 iptabels, route, ipset 规则并通过 vxlan 转发到网关节点,然后从网关节点将源 IP 转为 Egress IP 离开集群。稍后可以通过创建 EgressPolicy CR 来选择可使用的 EgressGateway,并通过 label 匹配业务 Pod,使业务流量通过网关节点离开集群。如下图集群 B 中的 Pod 为一组应用,管理员希望右侧同一业务组的 Pod 出集群的流量都使用特定 IP。原创 2024-02-10 10:55:56 · 1020 阅读 · 0 评论 -
云原生内容分享(十一):下一代云原生网关
Q3:Higress 和阿里巴巴的另一款开源网关 Tengine 有哪些不同?原创 2024-02-09 10:18:49 · 1161 阅读 · 0 评论 -
JAVA面试题分享四百七十七:物联网短信业务服务网关解决方案
有个短信需求需要联通开放发送短信的HTTP调用能力给xxx短信服务器(简称第三方平台),第三方平台可通过调用接口发送短信给相应用户,如果接收到短信的用户有相应回复,需要通知第三方平台,实现双向互通。但联通网关目前仅支持SGIP协议,接入的第三方平台是HTTP协议,因此需要开发一个中间协议转化服务(简称短信业务服务网关),通过进行协议转换,实现短信发送。SGIP协议是SMG和SP之间、SMG和GNS之间、以及SMG和SMG之间的接口协议,简称SGIP。通过应用SGIP协议,SP可以接入到SMG,实现SP。原创 2024-02-06 10:12:40 · 408 阅读 · 0 评论 -
云原生内容分享(八):云原生网关调研
Istio是不是可以替换掉Ingress-controller?开题还是从一个问题入手吧,相信在容器化、Mesh化过程中,我们想替换掉的不仅仅是ingress-controller吧,例如各种ServiceProxy、Api Gateway等,因为云原生架构下有更好的扩展支持,但是请大家先不要急着说答案。下面我们先来看下Tyk博客上的一篇文章节选。标题:“ServiceProxy,ServiceMesh,API gateway 我们怎么选?服务代理、服务网格还是API网关?原创 2024-01-29 22:33:38 · 1010 阅读 · 0 评论 -
云原生内容分享(六):为什么我们需要全能力云原生网关?
展望未来两三年,云原生网关的发展将主要围绕如下三项能力的完善:全能力网关建设:不局限于南北向流量,网关结合编排、多协议转换能力,去分布式化,应用于东西向流量中。生产级别稳定性保障:聚焦在精准化监控,细粒度观测,提供精准化告警。提升问题快速恢复,确保流量无损。AI 洞察:结合已有的专家经验,结合 LLM 大模型的能力,完善根因分析体系,构建分析平台,更好地做到问题前置,洞察问题及故障。原创 2024-01-29 22:20:23 · 921 阅读 · 0 评论 -
架构设计内容分享(一百五十四):网关如何实现限流?
网关(Gateway)是微服务中不可缺少的一部分,它是微服务中提供了统一访问地址的组件,充当了客户端和内部微服务之间的中介。网关主要负责流量路由和转发,将外部请求引导到相应的微服务实例上,同时提供一些功能,如身份认证、授权、限流、监控、日志记录等。网关的主要作用有以下几个:路由功能:网关可以根据目标地址的不同,选择最佳的路径将数据包从源网络路由到目标网络。它通过维护路由表来确定数据包的转发方向,并选择最优的路径。安全控制(统一认证授权):网关可以实施网络安全策略,对进出的数据包进行检查和过滤。原创 2024-01-24 08:57:08 · 1161 阅读 · 0 评论 -
架构设计内容分享(一百五十二):亿级并发,API网关等核心组件,如何设计?
这些技术产品覆盖了从 APP 研发到测试到运维到运营的各个阶段,有客户端框架、客户端基础组件,有云端基础服务(像 API 网关、SYNC 数据同步、PUSH 通知这些),有开放工具,有插件,有伴随研发测试的研发协作平台来进行迭代管理、编译、构建、打包,真机测试平台,也有 APP 运维阶段所需的智能发布、日志管理、应急管理,还有用于 APP 运营的,各种数据分析和营销投放产品。也因为如此,我们选择了 ZSTD 压缩算法,ZSTD 有非常大的压缩比,且在该压缩比之下,压缩和解压缩的效率都不错。原创 2024-01-24 08:41:12 · 916 阅读 · 0 评论 -
架构设计内容分享(一百四十六):API网关之api资产、api风险、api行为和api安全
"API行为"通常指的是API的操作和功能,即API在特定情境下执行的动作和提供的服务。API(应用程序接口)是一组定义了不同软件组件之间交互方式的规范和工具。API行为描述了API能够执行的操作、支持的功能以及用户(或其他软件组件)与API之间的交互方式。描述API提供的具体功能,例如数据库操作、文件上传、数据查询等。API的行为通常包括创建、读取、更新、删除(CRUD)等基本操作。描述API与用户或其他软件组件之间的通信方式。这可能涉及HTTP请求、WebSocket通信、RPC调用等。原创 2024-01-23 20:46:19 · 1182 阅读 · 0 评论 -
架构设计内容分享(一百四十五):API 网关 APISIX 在 DataVisor 的应用与实践
DataVisor 特别注重了风控领域的性能需求,并通过采用二次开发的独特策略来解决实际问题。APISIX 在 DataVisor 的应用经验不仅在技术实践中取得了成功,而且为我们公司在风控行业中的稳健运作提供了坚实的基础。通过这些经验的分享,我们希望能够为行业内其他相关企业提供有益的参考,共同推动风控技术的不断创新与进步。原创 2024-01-23 20:01:56 · 1060 阅读 · 0 评论 -
架构设计内容分享(一百四十三):API网关之识别不同场景的API接口
使用云服务提供商提供的软件开发工具包(SDK)和命令行工具,通过代码或命令行方式调用API,了解API的调用方式和参数。在云服务提供商的管理控制台中,查看配置页面和API设置,以获取关于云存储、数据库服务和消息队列等API的信息。在云计算环境中,包括云存储、数据库服务、消息队列等,都可能提供API以实现配置、数据管理和通信等功能。对Android应用的APK文件进行反编译,分析其中的代码和配置文件,以找到应用使用的API。查看网站文档和元数据,特别是针对开发者的部分,其中可能包含有关使用的API的信息。原创 2024-01-23 11:01:47 · 956 阅读 · 0 评论 -
架构设计内容分享(一百四十二):API网关之深入对比Kong和ApiSix
我个人的感觉是单从功能上来说,Kong的功能更丰富一些,但是APISIX的插件系统更加灵活,而且APISIX的社区支持更好。两者的性能上,APISIX的性能更高一些。但是,在选择API网关时,需要根据具体的需求和团队熟悉的技术栈来决定使用哪个网关以及其插件系统。原创 2024-01-23 10:55:35 · 1480 阅读 · 0 评论 -
架构设计内容分享(一百四十一):什么是API网关? 为什么它有用?
了解目标用户或系统的需求。确定API将公开的数据和功能。原创 2024-01-23 10:33:49 · 774 阅读 · 0 评论 -
架构设计内容分享(五十八):2亿用户,B站API网关如何架构?
然而,随着 B 站业务的发展和公司级中间件功能的不断更新,如果在每个网关上都实现与各个中间件的对接,将会导致人力投入和沟通成本大幅增加,同时实现标准和运营方式的不统一也无法充分发挥 API 网关的优势。在这种情况下,我们需要一个能够协调横切面的组件,将路由、认证、限流、安全等组件全部上提,实现统一更新发布,将业务集成度高的 BFF 层和通用功能服务层进行分层。目前,这款 API 网关的主要功能除了常规的限流、熔断、降级和染色之外,还基于这些基础功能和公司各类中间件,提供各种附加能力。原创 2023-12-24 09:38:46 · 1219 阅读 · 0 评论 -
架构设计内容分享(五十七):工业级Netty网关,京东是如何架构的?
通过源码分析,数据下行则通过NotifyProxy的方式发送数据,需要注意的是Netty是NIO,如果下行通知需要获取返回值,则要将异步转同步,所以NotifyFuture是实现java.util.concurrent.Future的方法,通过设置超时时间,在channelRead获取到上行数据之后,通过seq来关联NotifyFuture的方法。然而,随着对 NIO 技术的深入了解和对 Netty 框架的熟练掌握,以及对系统通信稳定性要求的提高,京麦开始尝试运用 NIO 技术来实现 API 请求调用。原创 2023-12-24 09:33:15 · 993 阅读 · 1 评论 -
架构设计内容分享(五十六):日均数十亿访问,个推API网关如何架构?
总的来看,个推 API 网关基于 golang 独立开发,实现全 Web 化配置,使得所有 API 接口标准化且可视化;除了满足网关的基本需求外,还支持插件热更新、多协议转换、数据推送、集群级别资源隔离等高级功能。个推 API 网关不仅能够整合到系统微服务架构中,还可作为公司数据中台的流量入口,日均承担数十亿级的访问量。原创 2023-12-24 09:23:31 · 901 阅读 · 0 评论 -
架构设计内容分享(五十五):企业级API网关,金蝶是如何架构的?
API 网关是一种服务器,作为应用程序编程接口 (API) 的入口点,用于接收和处理来自外部应用程序的请求,并提供适当的响应。可以将其视为一个管理 API 访问的中间件,在请求和响应之间进行转换、路由、安全检查和其他处理。如果将 API 网关比喻为地铁的进站口,那么它可以更好地理解其重要作用。就像地铁的进站口一样,API 网关是所有流量进入系统的入口点,需要进行安全检查和身份验证,以确保只有授权的用户和应用程序可以访问 API。原创 2023-12-24 09:17:17 · 848 阅读 · 0 评论 -
架构设计内容分享(四十四):日流量200亿,携程网关的架构设计?
类似于许多企业的做法,携程 API 网关是伴随着微服务架构一同引入的基础设施,其最初版本于 2014 年发布。随着服务化在公司内的迅速推进,网关逐步成为应用程序暴露在外网的标准解决方案。后续的“ALL IN 无线”、国际化、异地多活等项目,网关都随着公司公共业务与基础架构的共同演进而不断发展。截至 2021 年 7 月,整体接入服务数量超过 3000 个,日均处理流量达到 200 亿。原创 2023-12-23 21:42:15 · 1183 阅读 · 0 评论 -
架构设计内容分享(四十三):千万级连接,知乎如何架构长连接网关?
知乎长连接网关由基础架构组 (Infra) 开发和维护,主要贡献者是@faceair、@安江泽。基础架构组负责知乎的流量入口和内部基础设施建设,对外我们奋斗在直面海量流量的的第一战线,对内我们为所有的业务提供坚如磐石的基础设施,用户的每一次访问、每一个请求、内网的每一次调用都与我们的系统息息相关。原创 2023-12-23 21:37:15 · 909 阅读 · 0 评论 -
架构设计内容分享(四十二):日200亿次调用,喜马拉雅网关的架构设计
2)空闲超时,关闭连接;3)读超时关闭连接;4)写超时,关闭连接;上面几种需要关闭连接的场景,下面主要说下 Connection:close 和空闲写超时两种,其他情况如读超时、连接空闲超时、收到 fin、reset 码等都比较常见。原创 2023-12-23 20:14:28 · 995 阅读 · 0 评论 -
架构设计内容分享(四十一):100万级连接,爱奇艺WebSocket网关如何架构
WebSocket 是实现服务端推送的主流技术,适当使用可以有效提升系统响应能力,增强用户体验。通过 WebSocket 长连接网关,可以迅速为系统增加数据推送能力,有效降低运维成本,提高开发效率。长连接网关的价值在于1)它封装了 WebSocket 通信细节,与业务系统解耦,使得长连接网关与业务系统可独立优化迭代,避免重复开发,便于开发与维护;2)网关提供了简单易用的 HTTP 推送通道,支持多种开发语言接入,便于系统集成和使用;3)网关采用了分布式架构,可以实现服务的水平扩容、负载均衡与高可用;原创 2023-12-23 18:36:10 · 1120 阅读 · 0 评论 -
架构设计内容分享(四十):亿级长连接,淘宝接入层网关的架构设计
1、2、3、4均由网络调度中心的集群控制,我们希望这个可以做到与业务无关,去掉一些阿里的业务属性后,这个模块大家可以理解为HTTPDNS,可以理解我们在HTTPDNS之外做了大量网络优化的端到端的工作。某个单元机房的应用层网关不可用,这时等待应用网关排查问题需要的时间比较久,为了达到最快的故障恢复,我们通过开关把修改接入层的转发规则,将流量切到可用的单元。与服务端的分层架构相对应的是客户端的 SDK,最底层的统一网络库 SDK 汇集了我们的网络优化策略,并为各个应用网关技术的 SDK 提供 API。原创 2023-12-23 17:56:18 · 1023 阅读 · 0 评论 -
架构设计内容分享(三十九):单体120万连接,小爱网关如何架构?
小爱整体架构的分层如下所示接入服务主要负责鉴权授权层和传输层的工作,它是所有小爱设备与小爱大脑互动的第一个服务。从上图我们可以看出,小爱接入服务的重要功能包括以下几点1)安全传输与鉴权:保护设备与大脑之间的安全通道,确保身份认证的有效性和数据传输的安全;2)维护长连接:保持设备与大脑之间的长连接(如 Websocket 等),妥善保存连接状态,进行心跳维护等工作;3)请求转发:针对小爱设备的每次请求进行转发,确保每次请求的稳定性。原创 2023-12-23 17:49:02 · 987 阅读 · 0 评论 -
架构设计内容分享(三十八):100万级连接,石墨文档WebSocket网关如何架构?
1.0版架构设计图:1.0版客户端连接流程:1)用户通过 NGINX 连接网关,该操作被业务服务感知;2)业务服务感知到用户连接后,会进行相关用户数据查询,再将消息 Pub 到 Redis;3)网关服务通过 Redis Sub 收到消息;4)查询网关集群中的用户会话数据,向客户端进行消息推送。长连接网关系统的v2.0版需要解决很多问题。原创 2023-12-23 17:33:40 · 868 阅读 · 0 评论 -
架构设计内容分享(十五):10Wqps网关接入层,LVS+Keepalived(DR模式)如何搭建?
高伸缩性,高可用的服务;已被集成到Linux中;整体架构和Nginx相似,也是集群;lvs基于四层,处理能力是Nginx的几十倍,负载能力更高。lvs可以只接受不响应,nginx接收并相应思考: LVS 和 Nginx 很像,为什么还要使用LVS?LVS基于四层,工作效率高LVS基于四层,请求接收到直接转发Nginx接收到请求后,还需要对请求做一定处理(会有一定性能损耗)假如Nginx能支持的并发能达到几万,那么LVS能支持的负载可以达到Nginx的几十倍。原创 2023-12-21 11:19:46 · 1020 阅读 · 0 评论 -
架构设计内容分享(八):10Wqps 超高并发 API网关 架构演进之路
API 网关的定义中我们提到了为什么要使用 API 网关,是为了解决客户端对多个微服务进行访问的问题。由于服务的切分导致一个操作需要同时调用多个服务,因此为这些服务的聚合提供一个统一的门面,这个门面就是 API 网关。针对于 API 网关有很多的实现方式,例如:Zuul,Kong 等等。这里我们以 Spring Cloud Gateway 为例展开给大家介绍其具体实现。一般来说,API 网关对内将微服务进行集合,对外暴露的统一 URL 或者接口信息供客户端调用。原创 2023-12-21 08:19:58 · 1220 阅读 · 0 评论