开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块)

这篇具有很好参考价值的文章主要介绍了开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kong 是一个在 Nginx 内运行的开源 API 网关和微服务抽象层。它是用于处理 API 流量的灵活、可扩展、可插入的工具。

Kong 提供了以下功能:

  1. 用户登录:Kong 提供了多种认证插件,像 JWT、OAuth 2.0 等,可以满足用户登录需求。
  2. Token 管理:使用上述认证插件,Kong 可以有效地管理和处理 Token。
  3. 流量计数:通过插件,例如“流量控制”插件,Kong 可以对 API 的流量做限制,并进行实时的统计。
  4. 除此之外,Kong 还提供了负载均衡、服务发现、健康检查、Kong 的集群和节点状态的相关功能。

你可以在官方网站下载并获取安装指南:Kong Gateway: Most Trusted Open Source API Gateway | Kong Inc.


 

Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。 Kong是一个在 Nginx 中运行的Lua应用程序,并且可以通过lua-nginx模块实现,Kong不是用这个模块编译Nginx,而是 OpenResty 一起发布,OpenResty已经包含了 lua-nginx-module, OpenResty 不是 Nginx的分支,而是一组扩展其功能的模块。它的核心是实现数据库抽象,路由和插件管理,插件可以存在于单独的代码库中,并且可以在几行代码中注入到请求生命周期的任何位置。
 

Kong主要有三个组件:

  • Kong Server :基于nginx的服务器,用来接收API请求。
  • Apache Cassandra/PostgreSQL :用来存储操作数据。
  • Kong dashboard:官方推荐UI管理工具,当然,也可以使用 restfull 方式 管理admin api。

Kong的主要功能包括:

  • 高级路由、负载平衡、健康检查——所有这些都可以通过管理 API 或声明性配置进行配置。
  • 使用 JWT、基本身份验证、ACL 等方法对API 进行身份验证和授权。
  • 代理、SSL/TLS 终止以及对 L4 或 L7 流量的连接支持。
  • 用于实施流量控制、req/res转换、日志记录、监控和包括插件开发人员中心的插件。
  • 复杂的部署模型,如声明式无数据库部署和混合部署(控制平面/数据平面分离),没有任何供应商锁定。
  • 本机入口控制器支持服务Kubernetes。

开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块),gateway

插件提供了扩展网关使用的高级功能。许多 Kong Inc. 和社区开发的插件(如 AWS Lambda、Correlation ID 和 Response Transformer)都在插件中心展示。

开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块),gateway

开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块),gateway

官网: docs.konghq.com/

 

另外,要注意的是,虽然 Kong 本身是免费的,但是部分插件例如开发者门户、高级认证等只在企业版中提供,企业版是收费的。如果你需要这些功能,可能要考虑其它平台,或者探索其它开源工具来辅助实现。

在使用开源工具时,一定要考虑到一个重要的问题:你是否有资源和能力来维护和升级这些工具。一些开源工具可能需要一定水平的技术知识和时间投入来保证其功能性和安全性。对于商业用途,你也需要考虑这个工具是否可靠,并能否适应你的业务的发展和更改。文章来源地址https://www.toymoban.com/news/detail-817206.html

到了这里,关于开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenResty安装-(基于Nginx的高性能Web平台,可在Nginx端编码业务)

    首先你的Linux虚拟机必须联网 首先要安装OpenResty的依赖开发库,执行命令: 你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。运行下面的命令就可以添加我们的仓库: 如果提示说命令不存在,则运行:

    2024年02月07日
    浏览(66)
  • 多级缓存架构(三)OpenResty Lua缓存

    通过本文章,可以完成多级缓存架构中的Lua缓存。 在 docker/docker-compose.yml 中添加nginx服务块。 删除原来docker里的 multiCache 项目并停止 springboot 应用。 nginx 部分配置如下,监听端口为 8080 ,并且将请求反向代理至 172.30.3.11 ,下一小节,将 openresty 固定在 172.30.3.11 。 重新启动

    2024年01月16日
    浏览(54)
  • openResty+lua+redis实现接口访问频率限制

    OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团

    2024年02月11日
    浏览(50)
  • Openresty原理概念篇(九)LuaJIT分支和标准Lua有什么不同

    一  LuaJIT分支和标准Lua有什么不同 ①  背景 luajit官方   标准lua官方   openresty自身维护的luajit  编译luajit ②  LuaJIT 在 OpenResty 整体架构中的位置 ③   标准 Lua 和 LuaJIT 的 关系 ④  为什么 选择LuaJIT ⑤  lua特别之处 pairs和ipairs看table的内部结构 nil、ngx.null、cjson.null、user

    2024年02月11日
    浏览(35)
  • VX-API-Gateway开源网关技术的使用记录

    官网地址 https://mirren.gitee.io/vx-api-gateway-doc/ 访问 https://gitee.com/mirren/VX-API-Gateway/releases 下载最新的程序zip包 找个目录解压程序包 启动程序bin目录里的start.bat或start.sh 浏览器访问5256端口 点击进入首页后,会进入 http://localhost:5256/static/Application.html 提示要登录,默认账号是VXAd

    2024年02月14日
    浏览(43)
  • 在Kubernetes环境中有关Nginx Ingress与API Gateway的连接问题

    在Kubernetes环境中是通过Nginx Ingress来从外部访问Kubernetes内部的环境,并用API Gateway来分发请求,碰到了 502 Bad gateway. 的问题,并尝试解决。 从外部通过Nginx Ingress访问Kubernetes内部的环境API Gateway,返回错误: 502 Bad gateway. 这里API Gateway也起到了Load Balancer的作用。 查看Nginx运行的

    2024年02月09日
    浏览(47)
  • Openresty(二十二)ngx.balance和balance_by_lua终结篇

    一  灰度发布铺垫 ①  init_by_lua* init_by_lua    init_by_lua_block    当配置重载时,init_by_lua* 不会清空其内的lua_shared_dict共享数据 lua执行系统命令方法os.execute和io.popen      init_by_lua_file不能连接redis init_by_lua_file  ②  init_worker_by_lua* init_worker_by_lua init_worker_by_lua_block  ngx.worker

    2024年02月07日
    浏览(41)
  • Nginx反向代理的一个算法API的接口调用超时:504,GateWay Timeout,怎么破?

    服务端由第三方部署了一个基于 darknet (一个较为轻型的完全基于C与CUDA的开源深度学习框架)的识别算法服务,通过 Flask 的 Web 服务对业务服务暴露 API 接口。作为测试,一开始是直接通过 python3 app.py 的命令行启动的服务,然后在 Nginx 处通过反向代理过来的。 可是在通过前

    2023年04月08日
    浏览(84)
  • openresty 安装, nginx与 openresty

    openresty VS nginx Nginx 是一款高性能的 Web 服务器和反向代理服务器,具备基础的功能如HTTP服务、负载均衡、反向代理以及动静分离等。它是许多互联网应用的核心组件,因其模块化和可扩展的设计而受到欢迎。1 OpenResty 是基于 Nginx 的 Web 平台,它通过Lua脚本语言扩展了Nginx的功

    2024年01月25日
    浏览(33)
  • 在Openresty中使用lua语言向请求浏览器返回请求头User-Agent里边的值

    可以参考《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1,使用systemd管理OpenResty服务》安装Openresty。 然后把下边的内容写入到openresty配置文件 /usr/local/openresty/nginx/conf/nginx.conf (根据实际情况进行选择文件): 然后 sudo openresty 启动openresty。 最后在浏览器里

    2024年02月07日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包