API gateway 之 kong 基本介绍 (一)

本文深入介绍了API网关的概念及其在分布式系统中的作用,特别聚焦于Kong这款高可用、易扩展的API网关项目。探讨了Kong的架构、组件、插件机制及如何通过多种方式安装部署。

一、API网关概念介绍

API 网关,即API Gateway,是大型分布式系统中,为了保护内部服务而设计的一道屏障,可以提供高性能、高可用的 API托管服务,从而帮助服务的开发者便捷地对外提供服务,而不用考虑安全控制、流量控制、审计日志等问题,统一在网关层将安全认证,流量控制,审计日志,黑白名单等实现。网关的下一层,是内部服务,内部服务只需开发和关注具体业务相关的实现。网关可以提供API发布、管理、维护等主要功能。开发者只需要简单的配置操作即可把自己开发的服务发布出去,同时置于网关的保护之下。

 

(▲图片版权来自网络,版权归作者所有。)

 

API Gateway网关使得搭建一个新的应用服务变得简单、快捷、高效,同时,开发者将精力更多放在和业务紧密相关的工作上。

 

二、kong简介

Kong是一款基于Nginx_Lua模块写的高可用,易扩展由Mashape公司开源的API Gateway项目。由于Kong是基于Nginx的,所以可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。

 

Kong主要有三个组件:

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

Kong采用插件机制进行功能定制,插件集(可以是0或n个)在API请求响应循环的生命周期中被执行。插件使用Lua编写,目前已有几个基础功能:HTTP基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API请求限流、请求转发以及nginx监控。

Kong 官网:https://getkong.org/ 插件介绍,帮助文档等。

Kong 源码:https://github.com/Mashape/kong 

Kong UI管理工具:https://github.com/PGBI/kong-dashboard 浏览器UI管理工具

Kong 桌面管理工具:https://github.com/ajaysreedhar/kongdash 有linux版本,windows版本,mac版本。

 

三、社区资源和工具

安装KONG的方式

可以选择不同的方式进行安装 ->重要

第三方管理维护工具 

资源

 

参考文献

参考文章1:KONG API Gateway-用户指南 https://github.com/cloudframeworks-apigateway/user-guide-apigateway#%E6%A1%86%E6%9E%B6%E8%AF%B4%E6%98%8E-%E4%B8%9A%E5%8A%A1

参考文章2:易观API网关—Kong分享篇https://www.analysys.cn/media/technology/detail/20014914/

参考文章3: Kong:Nginx支持的API管理解决方案https://sdk.cn/news/1596

 

转自:https://blog.youkuaiyun.com/li396864285/article/details/77371385

 

***** 将来的你一定会感激现在努力的自己! *****

### API Gateway 使用指南与实现方式 API Gateway种用于管理 API 的服务,它提供了创建、发布、维护、监控和保护 API 的能力。以下是对 API Gateway 的使用方法以及其实现方式的详细介绍。 #### 1. Amazon API Gateway 的核心功能 Amazon API Gateway项全面管理的服务,允许开发者轻松创建、发布、维护、监控和保护 API。通过 API,应用可以作为“前门”访问后端服务中的数据、业务逻辑或功能[^2]。以下是其主要功能: - **支持多种协议**:支持 RESTful 和 WebSocket API,能够实现实时双向通信。 - **集成后端服务**:可以与 AWS Lambda、HTTP 服务等后端资源无缝集成。 - **安全性**:提供身份验证、授权以及与 AWS WAFv2 的集成,确保 API 的安全性[^5]。 - **监控与分析**:内置日志记录和指标监控功能,帮助开发者跟踪 API 性能。 #### 2. 创建 REST API 的步骤 以下是使用 Amazon API Gateway 创建 REST API基本流程: 1. 登录 AWS 管理控制台并导航到 API Gateway 服务。 2. 单击“Create API”,选择“REST API”类型,并选择构建模式(如从头开始或导入现有定义)。 3. 配置 API 端点类型(如 Edge-optimized),然后单击“Create API”[^1]。 4. 定义资源和方法(如 GET、POST),并将它们映射到后端服务。 5. 部署 API 到指定的阶段(如开发、测试或生产)。 #### 3. Kong API Gateway 的使用方法 Kong款高性能的开源 API 网关,适用于需要灵活性和可扩展性的场景[^3]。以下是其基本使用方法: - **安装与配置**:下载并安装 Kong,配置数据库以存储 API 和插件信息。 - **定义 API 路由**:通过 Kong Admin API 或配置文件定义 API 路由规则。 - **启用插件**:根据需求启用插件(如认证、限流、日志记录等)。 - **部署与监控**:将 Kong 部署到生产环境,并使用监控工具跟踪性能。 #### 4. 自动化与工具支持 为了简化 API Gateway 的管理和部署过程,可以使用相关工具: - **aws-apigateway-importer**:支持从 Swagger 或 RAML 文件导入 API 定义,方便快速构建复杂的 API 结构[^4]。 - **Python 脚本**:结合 AWS SDK for Python (Boto3),可以自动化 API Gateway 的配置和保护工作,例如与 AWS WAFv2 的集成。 #### 5. 示例代码:使用 Boto3 配置 API Gateway 以下是个使用 Boto3 创建 API Gateway 的示例代码: ```python import boto3 # 初始化 API Gateway 客户端 client = boto3.client('apigateway') # 创建新的 REST API response = client.create_rest_api( name='MyNewAPI', description='A sample API created using Boto3', endpointConfiguration={ 'types': ['EDGE'] } ) api_id = response['id'] print(f"API ID: {api_id}") ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值