InfiniGate自研网关
文章平均质量分 94
InfiniGate自研网关实现思路
编程小猹
大二在校学生,学习笔记
展开
-
InfiniGate自研网关实现思路七
通过模拟多个HTTP服务配置到 Nginx 做负载均衡,以学习API网关负载的配置和使用API 网关是用于支撑分布式 RPC 接口协议转换提供 HTTP 调用的一套服务,那么 API 网关系统就需要可横向扩展来满足系统的吞吐量诉求。所以这里需要让 API 网关来支持分布式架构部署,提供负载均衡的能力。那么在这方面有一套非常成熟的模式就是基于 Nginx 以及 LVS、F5 相关的配置构建出负载均衡服务。在这里同样我们的 API 网关也可以被这样的方式进行处理,来满足部署需求。原创 2024-06-05 20:38:18 · 985 阅读 · 0 评论 -
InfiniGate自研网关实现思路六
封装采集到的RPC应用服务接口信息,随着应用向网关中心注册应用接口。每一个做为提供HTTP接口的RPC应用服务,都需要基于引入的SDK组件,采集自身的接口向网关中心注册。因为每一个RPC服务本身是在RPC注册中心维护的,具备负载均衡的能力。所以通常向网关中心注册的都是 RPC 的接口描述信息,不过网关中心可以在这个过程记录上 RPC 接口的总数以及IP信息。这里接着上一章采集到的服务信息,这里把这些服务信息注册到注册中心上。原创 2024-05-16 20:38:24 · 776 阅读 · 0 评论 -
InfiniGate自研网关实现五
引入模块api-gateway-core 到 api-gateway-assist 中进行创建和使用,并拉取自注册中心的映射信息注册到本地的网关通信组件中。第17节是在第15节的基础上继续完善服务发现的相关功能,把从注册中心拉取的网关映射信息【系统、接口、方法】映射到本地通信组件中。这样就算完成了注册中心到本地服务的一个打通处理,映射完成后就可以通过HTTP请求到网关通信层,完成对RPC的泛化调用。原创 2024-05-14 11:58:45 · 763 阅读 · 0 评论 -
InfiniGate自研网关实现四
以封装 api-gateway-core 为目的,搭建 SpringBoot Starter 组件,用于服务注册发现的相关内容处理。这里最大的目的在于搭建起用于封装网关算力服务的 api-gateway-core 系统,提供网关服务注册发现能力。那么之所以要开发一个这样的组件,也就是。是因为我们希望把这样的统一公用能力进行一致的管理,如果没有这样的组件服务,那么将需要每一个 SpringBoot 服务都要做类似这样的事情,整体来看就会耗费很大的成本,所以要把这样的功能进行收口。原创 2024-05-09 20:42:26 · 695 阅读 · 0 评论 -
InfiniGate自研网关实现三
整理整个网关调用链路流程,梳理核心服务。并完成网关中心简单DDD模型结构工程的搭建,与库表连通可以查询接口映射数据。在前面我已经开发出了一个初具模型的核心通信组件,那么我该如何使用这个组件呢?接下来就是要思考整个项目的架构问题了。原创 2024-05-06 18:59:02 · 630 阅读 · 0 评论 -
InfiniGate自研网关实现思路二
解析 HTTP 网络请求的参数信息,包括;GET/POST,以及应对不同 Content-Type 类型的处理。HTTP 接口请求的参数需要解析成可以匹配到 RPC 接口的入参信息,所以通常为了方便控制一般只支持 RPC 接口单个对象入参,并且不允许同名不同参数的重载方法出现,这些会在 RPC 方法注册阶段进行报错提醒。原创 2024-04-21 19:21:11 · 768 阅读 · 0 评论 -
InfiniGate自研网关实现思路一
所有的学习都是举一反三,核心的设计万变不离其宗!具体实现:1.定义了一个继承了SimpleChannelInboundHandler的BaseHandler表明为入站处理器,里面定义了一个抽象方法session(也就是会话操作),接下来在handlers包中定义了一个自定义的handler继承BaseHandler,T泛型为FullHttpRequest,里面对session方法进行重写,模拟http请求的响应,最后完成一次会话。原创 2024-04-16 18:11:47 · 703 阅读 · 0 评论