Kong Api 初体验、Kong安装教程

见: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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot2.0+中,自定义配置类扩展springMVC的功能

在spring boot1.0,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js、css等)。 Configuration public class MyMvcConfig extends WebMvcConfigurerAdapter {Overridepublic v…

从谷歌宕机事件认识互联网工作原理

摘要:谷歌服务器经历了短暂的宕机事件,持续大概27分钟,对部分地区的互联网用户造成了影响。此次事件的原因深究起来需要进入互联网络那深邃的、黑暗的角落。 译者注:本文中提到CloudFlare是一家总部位于美国旧金山的内容分发网络(…

聊聊技术写作的个人体会

有群友问过,是什么原因使我开始写技术公众号,又是什么动力让我坚持写的。 在我看来,写作是一件不能敷衍的事,通过写作来学习,反而要比单纯地学习的效果要好。为了写成一篇“拿得出手”的文章,我要反复查找资…

「2019冬令营提高组」全连

传送门 显然的 $dp$ 设 $f[i]$ 表示点击第 $i$ 个音符时的最大价值,$t[i]$ 表示音符 $i$ 的准备时间 那么可以枚举 $1$ 到 $i-t[i]$ 的所有音符,如果 $j$ ,如果 $jt[j]$ 小于等于 $i$ ,那么 $f[i]max(f[i],f[j]t[i]*val[i])$ 考虑…

Docker常用命令、超实用、讲解清晰明了(rm、stop、start、kill、logs、diff、top、cp、restart ...)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 查看docker信息(version、info) # 查看docker版本 $docker version # 显示docker系统的信息 $docker i…

推荐给开发人员的实用命令行工具

摘要:优秀的工具对于定位问题出在何处有着无可估量的价值,而且能在一开始就帮助我们阻止问题的出现,总的来说能使我们的工作更有效率。本文介绍了6个非常强大且灵活的工具,熟练使用这些工具能使你的生活变得更轻松一些。 作为一名…

雷军:启动手机+AIoT双引擎战略 5G春天到来前打持久战

雷帝网 乐天 1月11日报道 小米CEO雷军今日在小米年会上宣布,2019年,小米将正式启动“手机AIoT”双引擎战略,这将是小米未来五年的核心战略。未来5年,小米将在AIoT领域持续投入超过100亿元。从2019年起,AIoT&#xff0c…

Jenkins自定义主题

x下载自定义样式 http://afonsof.com/jenkins-material-theme/ 打开连接 最后点击:DOWNLOAD TOUR THEME! 得到样式文件:jenkins-material-theme.css 上传样式文件到jenkins 将jenkins-material-theme.css 上传到: /var/jenkins_home/userCont…

SSH (Secure Shell)详解

Secure Shell(SSH)是一种加密 网络协议,用于在不安全的网络上安全地运行网络服务。 SSH通过客户端 - 服务器体系结构中的不安全网络提供安全通道,将SSH客户端应用程序与SSH服务器相连接。 常见的应用程序包括远程命令行登录和远程…

股票配对收益

import pandas as pd import numpy as npimport matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] # 字体设置 import matplotlib matplotlib.rcParams[axes.unicode_minus]False # 负号显示问题from arch.unitroot import ADF …

YUV420、YUV422、RGB24转换

//平面YUV422转平面RGB24 static void YUV422p_to_RGB24(unsigned char *yuv422[3], unsigned char *rgb24, int width, int height) { int R,G,B,Y,U,V; int x,y; int nWidth width>>1; //色度信号宽度 for (y0;y<height;y) { for (x0;x<width;x) { …

最长非下降子序列(O(nlogn))(offer收割)

题目 如题 思路 核心思想是&#xff0c;维护一个数组ends&#xff0c;它记录了长度为k的子序列的末尾元素的最小值。听起来很抽象&#xff0c;我们不妨手动演示一遍整个过程。 假设数组a{2,9,4,27,29,15,7}&#xff0c;令length表示当前找到的最长非下降子序列的长度。初始时le…

[Python]小甲鱼Python视频第026课(字典:当索引不好用时2)课后题及参考解答

# -*- coding: utf-8 -*- """ Created on Fri Mar 8 10:32:20 2019author: Administrator """"""测试题&#xff1a;0. Python的字典是否支持一键&#xff08;Key&#xff09;多值&#xff08;Value&#xff09;&#xff1f;不支…

2021-08-12 画蜡烛线

画蜡烛线 pip install https://github.com/matplotlib/mpl_finance/archive/master.zip from mpl_finance import candlestick_ochl import matplotlib.pyplot as plt from matplotlib.pylab import date2num# 先画日K线 fig, axes plt.subplots(nrows1, ncols1, figsize(20, …

替换字符串列表中字符串

//替换字符串列表中字符串 procedure StringsReplace(var S : TStrings; OldPattern, NewPattern: string; Flags: TReplaceFlags);var i : integer; tmpstr : string;begin for i : 0 to S.Count -1 do begin tmpstr : S[i]; s[i] : StringReplace(tmpstr, Ol…

TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 TCP/IP协议族&#xff08;TCP/IP Protocol Suite&#xff0c;或TCP/IP Protocols&#xff09;&#xff0c;简称TCP/IP。由于在网络通讯协…

RGB 24和YUY2相互转换

YUY2经常用于电视制式以及许多摄像头的输出格式.而我们在处理时经常需要将其转化为RGB进行处理,这里简单介绍下YUY2(YUV)与RGB之间相互转化的关系: http://msdn2.microsoft.com/en-us/library/ms893078.aspx YUY2(YUV) To RGB: C Y - 16 D U - 128 E V - 128 R clip((…

通达信获取数据

#python第三方库pytdx获取 from pytdx.hq import TdxHq_API api TdxHq_API() # 数据获取接口一般返回list结构&#xff0c;如果需要转化为pandas Dataframe接口&#xff0c;可以使用 api.to_df 进行转化 with api.connect(119.147.212.81, 7709): # 返回普通list data …

ICMP (互联网控制消息协议 )是什么

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 互联网控制消息协议&#xff08;英语&#xff1a;Internet Control Message Protocol&#xff0c;缩写&#xff1a;ICMP&#xff09;是互…

股票数据相关性分析

导入相关包 import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.collections import LineCollection import akshare as ak from sklearn import cluster, covariance, manifold %matplotlib inline #Jupyter Notebook显示图形专用 plt…