kong API gateway
参考:https://www.cnblogs.com/chenjinxi/p/8724564.html
一、简介
Kong,是由Mashape公司开源的,基于Nginx的API gateway。
二、特点
可扩展:支持分布式
模块化 功能:授权、日志、ip限制、限流、api 统计分析(存在商业插件Galileo等、也可自己研发)、请求转化、跨域(CORS)、其他功能通过lua编写插件实现。
...
三、调用流程
Once Kong is running, every request being made to the API will hit Kong first, and then it will be proxied to the final API. In between requests and responses Kong will execute any plugin that you decided to install, empowering your APIs. Kong is effectively going to be the entry point for every API request.
译文:Kong启动之后,每个请求先经过Kong,然后由Kong代理 访问最终的API。在请求和响应之间,Kong可以执行任何已配置的插件,达到增强APIs的目的。Kong作为每个API请求的入口。
四、Kong技术架构图
五、测试环境搭建
1 安装kong
2 postgresql安装配置
http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
kong的postgresql数据库连接命令:psql -U kong -d kong -h 127.0.0.1 -p 5432
3 kong配置
4 kong启动
kong start -c /etc/kong/kong.conf --vv
遇到错误:Error: /usr/local/share/lua/5.1/pgmoon-mashape/init.lua:239: missing password, required for connect
解决方法:检查配置文件的是否存在pg_password配置。
六、使用示例
说明:Kong Admin API 默认口为8001
1 在kong中新增api
1.1命令
curl -i -X POST \
--urlhttp://localhost:8001/apis/\
-d 'name=getTeacherById' \
-d 'upstream_url=http://www.daydays.com/' \
-d 'request_path=/**/**/teacher.do'
1.2 原接口请
curl -i -X GET \
1.3 通过kong进行接口请求
curl -i -X GET \
2 增加限速插件
2.1 命令
curl -X POSThttp://localhost:8001/apis/getTeacherById/plugins\
--data "name=rate-limiting" \
--data "config.second=2" \
--data "config.minute=2" \
--data "config.hour=10000"
2.2 访问频率超过限制后,接口返回结果如下图:
3 访问控制
3.1 添加key-auth插件,命令如下:
curl -i -X POST \
--urlhttp://localhost:8001/apis/getTeacherById/plugins/\
--data 'name=key-auth'
此时直接访问接口,将返回以下错误:
3.2 增加消费者:
curl -i -X POST \
--urlhttp://localhost:8001/consumers/\
--data "username=daydaysTeachApp"
3.3 为消费者配置证书
curl -i -X POST \
--urlhttp://localhost:8001/consumers/daydaysTeachApp/key-auth/\
--data 'key=daydaysTeachApp_randomNum123456'
通过key访问请求
curl -i -X GET --urlhttp://localhost:8000/**/**/teacher?fmid=1031\
"apikey: daydaysTeachApp_randomNum123456"
4 在kong中删除api
curl -i -X DELETE \
七、参考资料
中文资料介绍:https://www.sdk.cn/news/1596
kong官网:https://getkong.org
作者:peng66cheng
链接:https://www.jianshu.com/p/f9a2210f6722
来源:简书
kong API gateway的更多相关文章
- Docker安装Kong API Gateway并使用
我最新最全的文章都在南瓜慢说 www.pkslow.com,文章更新也只在官网,欢迎大家来喝茶~~ 1 简介 Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即 ...
- 关于kong | API Gateway
目录 为什么需要 API 网关(more) kong的概念 为什么使用Kong Kong 的管理方式 高可扩展性的背后-插件机制 [前言]: Kong是一个云原生,高效,可扩展的分布式 API 网关. ...
- API Gateway - KONG 安装与配置
简介 Kong,是由Mashape公司开源的,基于Nginx的API gateway 特点 可扩展,支持分布式 模块化 功能:授权.日志.ip限制.限流.api 统计分析(存在商业插件Galileo等 ...
- API Gateway : Kong
what problems 多个服务要写自己的log,auth,对于比较耗时的,有时还要高流量限制. solution intro 单点部署的情况: why not just haproxy log ...
- API gateway 之 kong 基本操作 (三)
一.演示环境准备 1.nginx配置 [root@nginx conf.d]# pwd /etc/nginx/conf.d [root@nginx conf.d]# ls conf_bak kong_ ...
- API gateway 之 kong 基本介绍 (一)
一.API网关概念介绍 API 网关,即API Gateway,是大型分布式系统中,为了保护内部服务而设计的一道屏障,可以提供高性能.高可用的 API托管服务,从而帮助服务的开发者便捷地对外提供服务, ...
- Kong:Nginx支持的API Gateway管理解决方案
Kong的主要功能 Kong可灵活扩展:只要增添更多的服务器实例,它就能横向扩展,毫无问题,那样你可以支持更多流量,同时确保网络延迟很短. Kong可在任何地方运行:它可以部署在单个或多个数据中心环境 ...
- 谈谈微服务中的 API 网关(API Gateway)
前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了,在这里给大家抱歉. 那么,在本篇文章中,我们就一起来探 ...
- 聊聊 API Gateway 和 Netflix Zuul
最近参与了公司 API Gateway 的搭建工作,技术选型是 Netflix Zuul,主要聊一聊其中的一些心得和体会. 本文主要是介绍使用 Zuul 且在不强制使用其他 Neflix OSS 组件 ...
随机推荐
- android 退出程序解决内存释放so的问题
做Android程序的时候发现一个问题,由于用到了so库,当应用程序退出了,但是手机变得很卡,点击"设置"查看应用程序,界面显示着可以点击"强制关闭". 由于这 ...
- LeetCode——10. Regular Expression Matching
一.题目链接:https://leetcode.com/problems/regular-expression-matching/ 二.题目大意: 实现一个正则表达式,该正则表达式只有两种特殊的字符— ...
- appium工具 录制的方法
参考: https://www.jianshu.com/p/5eef1bfa42ae
- IDC:IDC(互联网数据中心)
ylbtech-IDC:IDC(互联网数据中心) IDC为互联网内容提供商(ICP).企业.媒体和各类网站提供大规模.高质量.安全可靠的专业化服务器托管.空间租用.网络批发带宽以及ASP.EC等业务. ...
- [转][C#]枚举的遍历Enum
// 加载所有颜色 //foreach (Color item in Enum.GetValues(typeof(Color))) foreach (var item in typeof(Color) ...
- vSphere 查看FC HBA的WWNN和WWPN
# 查看WWN号
- [UE4]正交
一.如果两条直线是垂直的,那么就可以说这2条直线是正交的.既然有垂直,为什么还要有正交概念呢? 因为正交可以描述两个或者多个变量之间互不影响.互不干涉,而垂直是完全属于几何的术语. 二.具有正交关系的 ...
- Linux 防火墙和SELinux的开启和关闭
防火墙(firewalld) 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临时打开防火墙 syste ...
- Js学习(1)
数据类型 简单数据类型 ◆number 数字类型 ◆string 字符串类型 ◆Boolean 布尔类型 ◆true 真 (正确的) ◆false 假(错误的) ◆u ...
- 关于Element UI中页面样式小问题
一,修改组件dialog窗口的大小 二,在我使用upload组件上传一张美女图片时,发现当预览图片时,图片是灰色的,点击一下才会变亮,这种效果使我很不舒服,于是我通过添加下面的一条样式,问题解决了(可 ...