业务网关技术选型和预研

2023-03-21  本文已影响0人  NealLemon

开源API网关汇总

目前开源API Gateway 种类繁多,简单搜罗了几个比较火的开源项目:

选型Spring Cloud Gateway

我们主要方向是业务网关,那么不仅要根据公司业务或者战略方向解决当前的痛点,同时也要结合当前使用的技术,用最短的时间和人力做最正确的事情。

选择Spring Cloud Gateway 主要原因是:

当然Spring Cloud Gateway也有缺点:

springGateway分析.jpg

其实归根结底 最重要的是Spring Cloud Gateway是Java语言开发的,更适合扩展业务插件,虽然Lua和Go 性能很高,但是针对复杂的业务插件,由于语言本身的问题,性能并不会很高。

选型监控组件以及存储

监控组件

监控组件选择目前主流的APM项目 : Apache SkyWalking 。无论是新老项目,只要是JAVA开发的,它可以JAVA SPI机制加载,可以无侵入集成到项目上,收集日志以及链路追踪信息。 目前由于Skywalking社区太过庞大,我们可以只使用apache/skywalking-java 来进行集成和自定义日志收集。

日志收集组件

日志收集组件选择elastic家族的elastic/beatselastic/logstash

原因有以下几点:

  1. 轻量级:Filebeat是一款轻量级的工具,它的安装包非常小,而且占用系统资源非常少,因此可以轻松地部署在任何服务器上,不会影响服务器的性能。
  2. 灵活性:Filebeat支持多种数据源和输出目的地,用户可以根据自己的需要配置不同的输入和输出,而且Filebeat还支持多种数据格式,如JSON、CSV等。
  3. 实时性:Filebeat可以实时地监控日志文件的变化,并将新的日志信息传输到指定的目的地,这意味着您可以及时地获取最新的日志信息,从而更快地发现问题。
  4. 可靠性:Filebeat使用TCP协议传输日志信息,这意味着它具有很高的可靠性,而且还可以自动重试失败的传输操作,从而确保数据的完整性和可靠性。
  5. 易于使用:Filebeat具有简单的配置文件,用户只需要进行基本的配置就可以开始使用它,而且Filebeat还提供了多种插件,可以轻松地扩展其功能。

消息中间件

Kafka作为日志消息的消息中间件,这个不需要多做解释了吧。

存储

系统架构图

架构图.jpg 系统架构图.jpg
上一篇 下一篇

猜你喜欢

热点阅读