见:https://blog.csdn.net/forezp/article/details/79383631

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 ,我选择大象数据库,安装过程省略,可以参考这篇文章。 
http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html

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

CREATE USER kong; CREATE DATABASE kong OWNER kong;

安装kong

下载kong的源文件,下载地址:https://getkong.org/install/ubuntu/

下载完成之后会有这样一个文件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

配置文档在这里:

https://getkong.org/docs/0.9.x/configuration/

复制配置文件:

$ 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进行操作,文档地址:https://getkong.org/docs/0.8.x/admin-api

安装 kong-dashboard

kong管理端的第三方网页,地址:https://github.com/PGBI/kong-dashboard

支持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接口:

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

在浏览器上访问:http://192.168.86.128:8000/hi

hi forezp,i am from port:8762

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

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

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

再次访问:http://192.168.86.128:8000/hi

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

kong 支持了20中插件,插件地址:https://getkong.org/plugins/

参考资料

https://getkong.org/about/

http://www.cnblogs.com/SummerinShire/category/861287.html

http://www.jianshu.com/p/f9a2210f6722

https://yq.aliyun.com/articles/63180

http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html

Kong Api 初体验、Kong安装教程相关推荐

  1. Kong Api 初体验

    个人博客纯净版:https://www.fangzhipeng.com/%E6%9E%B6%E6%9E%84/2017/09/17/kong-api-gateway.html Kong是一个可扩展的开 ...

  2. ap接口 php_小白php API初体验 php api文档 php api接口开发 php web ap

    这里的php 写API其实就是指提供一个WebServiceWebSite : 1.以html格式响应返回 2.由用户通过浏览器来接入 WebService : 1.以json/Xml格式返回 2.由 ...

  3. Synopsys初体验——软件安装篇

    Synopsys初体验--软件安装篇 前言 一.虚拟机VMware的安装与使用 1.软件安装 2.创建自己的虚拟机 二.Synopsys系列软件的安装 前言 时光飞逝,转眼间已经是将要毕业的人了.之前 ...

  4. 我的Go+语言初体验——ubuntu安装Go+环境问题锦集(二)

    欢迎大家参与[我的Go+语言初体验]活动: 活动地址:[https://bbs.csdn.net/topics/603464006?utm_source=1594742339] 本文为大家带来[Go+ ...

  5. XENAPP 7.6 和XENDESKTOP 7.6 初体验之一 安装

    阅读全文 环境: 服务器操作系统:Microsoft Windows Server 2012 R2 Datacenter vCPU: 2 Cores(E5-2620 @ 2.0GHz) vRAM:4G ...

  6. github copilot使用体验及安装教程

    github copilot(中文:副驾驶员.以下简称副驾驶)是github于2021年6月发布的一款vs code 插件,到目前为止仍处于内测阶段,至于该插件以后是否开源或者收费官方并未说明. 官方 ...

  7. Vue3通透教程【四】Vue3组合API初体验

    文章目录

  8. Eiblog 初体验,搭建教程

    用过其它博客系统,不喜欢,不够轻,不够快!自己做过共两款博客系统,完美主义的我(毕竟×××座)也实在是不想再在这件事情上过多纠结了.Eiblog 应该是一个比较稳定的博客系统,且是博主以后使用的博客系 ...

  9. 2BizBox免费ERP API初体验

    简介 什么是2BizBox API 2BizBox是免费的ERP软件,也是一个开放的ERP平台.2BizBox面向开发者提供了完整的API二次开发接口,用于对2BizBox进行集成和二次开发.2Biz ...

最新文章

  1. (MyEclipse) MyEclipse完美破解方法(图)
  2. 在Hive中执行DDL之类的SQL语句时遇到的一个问题
  3. CMake 中的 PUBLIC,PRIVATE,INTERFACE
  4. 把握三大计划 抓住ERP项目实施的灵魂
  5. minheight能继承吗_继承人放弃继承遗产继承并做出公证还能反悔吗?
  6. java class api 中文乱码_SpringMVC之springmvc原始api,请求中文乱码问题
  7. filter java oauth_java – 带有自定义安全过滤器的Spring Boot OAuth2
  8. java moneyutils_java中每月等额与先息后本计算
  9. Jmeter插件安装及使用
  10. lua.c:82:10: fatal error: readline/readline.h: 没有那个文件或目录
  11. python基础教程第三版pdf 脚本之家-一篇不错的Python入门教程
  12. android微信图片编辑带滤镜,美图APP的小程序版 微信里一键P图自动加滤镜贴图和文字模版...
  13. linux samba文件共享,网络凭据总是出错解决方法
  14. 视频教程-Prometheus+Grafana企业级监控实战(运维篇)2020年视频教程-Linux
  15. 微信小程序怎么设置全局背景颜色?
  16. Docker最全总结,DockerFile,Docker编排容器,Docker镜像,Docker-compose构建
  17. 2023英语作文模板
  18. 记录写博文用到的一些工具
  19. Hadoop基础教程-第12章 Hive:进阶(12.3 HiveServer2)(草稿)
  20. 我所理解的 惠普云 (HP Cloud)

热门文章

  1. fatal error lnk1120: 1 个无法解析的外部命令_3月1日七牛云存储割韭菜的应对方法...
  2. Python如何创建相同值的数组/列表
  3. 【除夕最炫烟花代码】—— HTML+JQuery实现2022跨年烟花特效
  4. 【POJ - 3126】Prime Path(bfs)
  5. ☆用Python实现ACM各大输入输出格式
  6. 【牛客 - 125A】灰魔法师(打表,暴力)
  7. 【qduoj - 1012】反转数字(模拟,水题)
  8. Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences
  9. 2.Building Models from Convolutions
  10. android action bar 风格,自定义ActionBar风格和样式