Kong Api 初体验

Kong Api 初体验转载请标明出处:https://blog.csdn.net/forezp/article/details/79383631本文出自方志朋的博客Kong是一个可扩展的开源API层(也称为API网关或API中间件)。Kong运行在任何RESTfulAPI的前面,并通过插件扩展,它们提供超出核心平台的额外功能和服务。Kong最初是在Mashape建立的,用于为其AP…

大家好,又见面了,我是你们的朋友全栈君。

个人博客纯净版:https://www.fangzhipeng.com/%E6%9E%B6%E6%9E%84/2017/09/17/kong-api-gateway.html

Kong是一个可扩展的开源API层(也称为API网关或API中间件)。 Kong运行在任何RESTful API的前面,并通过插件扩展,它们提供超出核心平台的额外功能和服务。
Kong最初是在Mashape建立的,用于为其API Marketplace提供超过15,000个API和Microservices,并为超过20万的开发者每月生成数十亿个请求。 今天,Kong被用于小型和大型组织的关键任务部署

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-avVv8VY9-1570074828050)(https://getkong.org/assets/images/docs/kong-architecture.jpg)]

使用的软件

  • 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,就可以进入了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iSyrzSdW-1570074828052)(http://fangzhipeng.oss-cn-hangzhou.aliyuncs.com/blog/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170830111958.png?x-oss-process=style/caijai)]

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gYXq4fTJ-1570074828054)(http://fangzhipeng.oss-cn-hangzhou.aliyuncs.com/blog/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170830112038.png?x-oss-process=style/caijai)]

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

hi forezp,i am from port:8762

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-edRMFckb-1570074828054)(http://fangzhipeng.oss-cn-hangzhou.aliyuncs.com/blog/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170830112602.png?x-oss-process=style/caijai)]

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fqqcwDcH-1570074828055)(http://fangzhipeng.oss-cn-hangzhou.aliyuncs.com/blog/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170830114620.png?x-oss-process=style/caijai)]

再次访问: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

更多阅读

史上最简单的 SpringCloud 教程汇总

SpringBoot教程汇总

Java面试题系列汇总

Kong Api 初体验
扫码关注公众号有惊喜

(转载本站文章请注明作者和出处 方志朋的博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153212.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VC++ InvalidateRect

    VC++ InvalidateRect     该函数向指定的窗体添加一个矩形,然后窗口客户区域的这一部分将被重新绘制。  BOOLInvalidateRect(  HWNDhWnd,//handleofwindowwithchangedupdateregion  CONSTRECT*lpRect,//addressofrectanglecoordinates  BOOLbEras

    2025年6月8日
    2
  • 浙江省八年级python_今年9月起 浙江八年级新增Python编程课程「建议收藏」

    浙江省八年级python_今年9月起 浙江八年级新增Python编程课程「建议收藏」今年9月的新学期,浙江三到九年级信息技术课将替换新教材。消息一出,引起浙江学生家长的关注。其中最大的变化是,八年级将新增Python课程内容。新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法按照教材规划五六年级开始接触。昨天,快报记者采访了浙江省教研室,确认了这一消息。相关工作人员表示,目前根据现行的高中教材,对小学、初中的老教材进行了修订,新教材将于今年9月投入使…

    2022年5月13日
    52
  • 怎么去掉织梦网站首页带的index.html/index.php

    怎么去掉织梦网站首页带的index.html/index.php

    2021年9月20日
    54
  • pycharm django环境搭建_挣钱项目

    pycharm django环境搭建_挣钱项目2021/2/2pycharm打开的界面有更新。1.找到setting先找到自定义(customize)然后再点击Allsettings进入界面2.下载django的解释器先点击python的解释器(pythoninterpreter)然后选择一个需要配置django解释器的python项目,也可以新创一个。选择好python项目之后,可以从package栏查看下载了哪些python包。然后,点击pip,查找django就可以下载django的python包。THAT‘

    2022年8月27日
    4
  • ps快捷键常用表实用表_计算机查找快捷键

    ps快捷键常用表实用表_计算机查找快捷键PS是一款使用最多的图片处理软件,不论是普通玩家还是专业的制图用户都在用。今天来给大家分享ps快捷键常用表,方便大家参考学习使用,在制图的时候更加的便捷。【1】CTRL+SHIFT+单击(选择多个对象)【选择工具】非”自动选择“状态下:1.按CTRL+左键可以选择对象2.按CTRL+SHIFT+左键可以选择多个对象【2】空格+点击(按住状态)(可移动选区)绘制一个选框、矢…

    2022年9月29日
    2
  • 子网划分和计算方法(附习题详解)

    子网划分和计算方法(附习题详解)一.子网划分作用1.计算网络号,通过网络号选择正确的网络设备连接终端设备1)清楚IP地址四点段点分十进制数和子网掩码,对应的网络号是什么2)交换机是用来连接相同网络的设备,路由器是用来连接不同网段的设备网络号一样的,即在相同网段,网络号不一样的,即不同网段3)计算方法把十进制数的IP地址换算成二进制数,把子网掩码也由十进制数换算成二进制数,两对二进制数对齐做“与”运算,即可得出网络号。2.根据网络的规模,可以对局域网(内网)进行网络地址规划二.IP地址格…

    2022年6月27日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号