博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kong Api 初体验
阅读量:4539 次
发布时间:2019-06-08

本文共 2286 字,大约阅读时间需要 7 分钟。

请查看原文:

Kong是一个可扩展的开源API层(也称为API网关或API中间件)。 Kong运行在任何RESTful API的前面,并通过插件扩展,它们提供超出核心平台的额外功能和服务。

Kong最初是在Mashape建立的,用于为其API Marketplace提供超过15,000个API和Microservices,并为超过20万的开发者每月生成数十亿个请求。 今天,Kong被用于小型和大型组织的关键任务部署

使用的软件

  • Unbuntu 虚拟机(有自己的服务器更好)
  • PostgreSQL
  • kong
  • kong-dashboard
  • docker
  • spring boot

安装 PostgreSQL

kong 需要使用到数据库,目前支持PostgreSQL和Cassandran ,我选择大象数据库,安装过程省略,可以参考这篇文章。

安装完后建一个kong的用户、密码为kong、建一个kong 数据库:

CREATE USER kong; CREATE DATABASE kong OWNER kong;

安装kong

下载kong的源文件,下载地址:

下载完成之后会有这样一个文件kong-community-edition-0.11.0.*.deb,cd到这个文件的目录:

$ sudo apt-get update$ sudo apt-get install openssl libpcre3 procps perl$ sudo dpkg -i kong-community-edition-0.11.0.*.deb

配置kong

配置文档在这里:

复制配置文件:

$ cp /etc/kong/kong.conf.default /etc/kong/kong.conf

配置文件:

/etc/kong/kong.conf/etc/kong.conf

打开配置文件,里面可以修改很多配置,修改数据库连接,用户名、密码

pg_host = 127.0.0.1             # The PostgreSQL host to connect to.pg_port = 5432                  # The port to connect to.pg_user = kong                  # The username to authenticate if required.pg_password = kong              # The password to authenticate if required.pg_database = kong

执行以下整合命令:

$ kong migrations up [-c /path/to/kong.conf]

启动kong :

kong start -c /etc/kong/kong.conf --vv

打开浏览器访问:localhost:8001,浏览器显示了一大串关于kong的json字符串,则启动成功。

kong管理端口为8001, 监控端口为8000。

管理端口用rest api对api进行操作,文档地址:

安装 kong-dashboard

kong管理端的第三方网页,地址:

支持npm启动,但是没有成功过,直接选择了docker启动。

要求先安装docker,docker启动镜像

# Start Kong Dashboard  8080端口启动docker run -d -p 8080:8080 pgbi/kong-dashboard:v2# Start Kong Dashboard on a custom port  指定一个端口启动docker run -d -p [port]:8080 pgbi/kong-dashboard:v2# Start Kong Dashboard with basic auth  8080端口启动,带一个用户基本认证docker run -d -p 8080:8080 pgbi/kong-dashboard:v2 -a user=password

演示实例

在电脑上开启一个spring boot 工程有一个api接口为http://10.10.20.187:8762/hi

其实kong管理api有一系列的接口,直接用crul 就可以完成管理,但是有第三个kong-dashboard,我就用了kong-dashboard的管理界面进行操作。

在上一小节启动docker之后,打开网页http://192.168.86.128:8080(我unbuntu虚拟机的host为192.168.86.128),填写kong的管理urlhttp://192.168.86.128:8001,就可以进入了。

在kong管理界面创建一个api接口:

填写相关的参数即可,创建完成后如下:

在浏览器上访问:

hi forezp,i am from port:8762

添加api限流插件,一个ip一分钟10次。

访问超过10次后,会拒绝访问。

添加file-log的插件,文件存放目录为/temp/file.log :

再次访问:

可以在打开/temp/file.log看见里面的日志信息。

kong 支持了20中插件,插件地址:

参考资料

SouthEast

扫码关注公众号有惊喜

(转载本站文章请注明作者和出处 )

转载于:https://www.cnblogs.com/forezp/p/9852096.html

你可能感兴趣的文章
JAVA wait()和notifyAll()实现线程间通讯
查看>>
python全栈脱产第11天------装饰器
查看>>
koa2 从入门到进阶之路 (一)
查看>>
Java / Android 基于Http的多线程下载的实现
查看>>
求职历程-----我的简历
查看>>
[总结]数据结构(板子)
查看>>
网页图片加载失败,用默认图片替换
查看>>
C# 笔记
查看>>
2013年10月13日学习:SQL通过命令语句来创建表
查看>>
剑指offer : 二维数组中的查找
查看>>
第三章 python基础
查看>>
java基础题
查看>>
[转]人人店短信插件开发
查看>>
[转]c# System.IO.Ports SerialPort Class
查看>>
14. 最长公共前缀
查看>>
Redis文档
查看>>
项目重构
查看>>
(笔试题)和一半的组合数
查看>>
leetcode--Algorithm--Array_Part 1 Easy- 566 Reshape the Matrix
查看>>
AC自动机算法详解 (转载)
查看>>