KONG GATEWAY 基本介绍及安装

1 Kong基本介绍
Kong 基于Nginx和lua实现的API GateWay,用于管控Restful接口:

  1. 使用修改过的Nginx作为代理服务器,即Openrestry,该服务器负责处理Api请求。
  2. Cassandra或者postgresql用作数据存储(Datastore)服务器,存储来自kong操作的数据。数据持久化建议采用Cassandra,原因如下:1)易于构建分布式 2)易于扩展。
  3. 基于Apache license认证。Kong 随着openrestry分发,已经包含lua-nginx-module.Openrestry不是nginx分支版本,而是扩展了nginx的一组module.核心包还是用nginx官方的。(Kong is distributed along with OpenResty, which already includes lua-nginx-module. OpenResty is not a fork of Nginx, but a bundle of modules extending its capabilities.)
    1.1 产品结构

    1.2 总体架构

注:生产环境下,将DNS解析到kong即可,或者kong通过LVS负载分发,将DNS解析到LVS所在节点即可。
1.3 特征
1.3.1 Restful接口
Restful Interface
1.3.2 平台无关
Platform Agnostic
1.3.3 面向插件
Plugin oriented
1.3.4 扩展简单
Simple Scaling
1.3.5 高性能
Kong本事性能与nginx在一个级别上,另外可以实现灵活快速扩展,满足分布式环境下高并发大流量访问接入。

上图是在基本认证开启情况下,kong与tyk性能对比,横坐标表示服务运行数量,纵坐标表示QPS,即每秒请求数量。

1.4 产品功能

1.5 适用场景
作为API-GATEWAY,kong在通用互联网架构适用场景:

2 Kong 安装
2.1 软件环境
CentOS Linux release 7.3.1611 64位
KongServer version =>1.0.3
PostgreSQL => 10.1 Schema:kong || User:kong
Nodejs: node-v8.11.3-linux-x64.tar
2.2 安装数据库
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm
yum install postgresql10
yum install postgresql10-server
/usr/pgsql-10/bin/postgresql-10-setup initdb
vi /var/lib/pgsql/10/data/postgresql.conf
listen_addresses = ‘*‘
vi pg_hba.conf
host all all 0.0.0.0/0 md5
systemctl enable postgresql-10
systemctl start postgresql-10

2.3 安装node and npm
xz -d node-v8.11.3-linux-x64.tar.xz
tar -xvf ./node-v8.11.3-linux-x64.tar
vi /etc/profile
export NODE_HOME=/opt/node
export PATH=${NODE_HOME}/bin/:$PATH
source /etc/profile
2.4 创建数据库
su - postgres
psql
1>create user kong with password ‘icfw1602‘;
2>CREATE DATABASE kong OWNER kong;
3> grant all privileges on database kong to kong;
2.5 安装并启动kongserver
yum install -y perl-Time-HiRes.x86_64
rpm -ivh kong-community-edition-1.0.3.el7.noarch.rpm
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
vi /etc/kong/kong.conf => configure postgresql port and password
/usr/local/bin/kong migrations bootstrap [-c /etc/kong/kong.conf] =>初始化数据库

/usr/local/bin/kong start
2.6 安装可视化管理工具
1)下载源码(AngularJS )并编译
npm install -g bower
npm install -g gulp
npm install -g sails
git clone https://github.com/pantsel/konga.git
cd konga
npm install --unsafe-perm
2)配置数据库
su - postgres
psql
1>CREATE DATABASE konga OWNER kong;
2>grant all privileges on database konga to kong;
#cp konga/.env_example konga/.env
#vi .env
PORT=8080
NODE_ENV=production
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=postgres
DB_HOST=192.168.20.22
DB_DATABASE=konga
DB_USER=kong
DB_PASSWORD=icfw1602
3) 初始化数据库
su - postgres
cd konga
node ./bin/konga.js prepare --adapter postgres --uri postgresql://192.168.20.22:5432/konga
(创建数据库,如出现数据库连接异常,设置vi pg_hba.conf,将host all all 0.0.0.0/0
md5中md5调整为trust并重启数据库,创建数据库后,还原为md5.并确认konga数据库、创建表owner为用户kong,如不是则调整)
alter table xx owner to kong;
4)启动konga
nohup npm run production >run.log & (已daemon方式启动)
Konga GUI will be available at http://localhost:8080
3 引用资源
Kong 在线资源:https://docs.konghq.com/
Konga 在线资源:https://github.com/pantsel/konga
Kong 中文资源:https://www.pocketdigi.com/book/kong/

原文地址:https://blog.51cto.com/14034751/2479936

时间: 2024-10-26 14:00:12

KONG GATEWAY 基本介绍及安装的相关文章

Kong Gateway - 11 基于网关服务的ACL访问控制列表 黑名单

同一服务名称 book 不允许即创建白名单访问控制列表又创建黑名单访问控制列表 启用服务的白名单&黑名单配置文件时,它们俩是不允许同时定义的,我们应该树立这样一种认知 不在黑名单中 即使没定义白名单,我们也把黑名单之外的所有用户归类为白名单用户 故ACL必须分两篇来发布,本范例中使用了 Kong Gateway - 01 基于网关服务的基本验证(Basic Authentication)9种验证方式当中的1种方式而已,我们当然可以用剩余的8种验证方式之一来取代basic-auth,强调一点的是A

Tokyo Tyrant(TTServer)系列(一)-介绍和安装

Tokyo Cabinet 是日本人Mikio Hirabayashi 开发的一款DBM 数据库,该数据库读写非常快,哈希模式写入100 万条数据只需0.643 秒,读取100 万条数据只需0.773 秒,是Berkeley DB 等DBM 的几倍.Tokyo Tyrant 是由同一作者开发的Tokyo Cabinet 数据库网络接口.它拥有Memcached兼容协议,也可以通过HTTP 协议进行数据交换. Tokyo Tyrant 加上Tokyo Cabinet,构成了一款支持高并发的分布式持

Laravel介绍及安装

Laravel是目前最流行的php框架,此前已有耳闻,还没有好好的研究下,目前由于项目的需求要用到这个框架,所以只能硬着头皮学习了.今天算是Laravel学习的第一天,先讲讲laravel框架的安装流程. 下载最新版本Laravel框架,可以到Laravel官网下载,也可以到国内社区下载,下载后解压到服务器网根目录. LaraveL框架使用Composer(PHP包管理工具)来管理代码依赖性. 首先,你需要下载Composer的PHAR打包文件( composer.phar ),下载完成后把它放

System center 2012 R2 实战五、SCVMM2012R2介绍及安装

大家好,今天我来分享的是微软System center组件中第一个组件,SCVMM2012R2的安装,说起SCVMM2012R2,我还想与大家聊一聊,SCVMM2012R2在微软私有云中的作用. 我们知道,微软的私有云一共分为三个层,最底层,是基础架构层,基础架构层上面是服务标准与自动化流程,最上面的是应用管理层,那么什么是基础架构层,基础架构层在微软私有云中是干什么的呢,我先来跟大家说一说我的理解. 微软私有云基础架构层,在我看来,主要作用是,通过微软的云计算,改善企业的IT环境,将企业传统的

Storm介绍及安装部署

本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache Storm是什么 Apache Storm是自由开源的分布式实时计算系统,擅长处理海量数据,适用于数据实时处理而非批处理. 批处理使用的大多是鼎鼎大名的hadoop或者hive,作为一个批处理系统,hadoop以其吞吐量大.自动容错等优点,在海量数据处理上得到了广泛的使用.但是,hadoop不擅长实时

python 常库介绍及安装方法

文大赛,秀绝招,赢无人机! python 常库介绍及安装方法 标签: PYTHON库 2016-10-13 15:32 798人阅读 评论(0) 收藏 举报  分类: 其他(33)  bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数据库连接池django:一个WEB frameworkdocutils:用来写文档的dpkt:数据包的解包和组包My

Web服务介绍 & httpd安装

Web简介 什么是Web WWW:World Wide Web,万维网 英国人TimBerners-Lee在1989年欧洲共同体的一个大型科研机构工作时发明的 Web是一种超文本信息系统,其主要实现方式是超文本连接 Web特点 1.Web页面的图形化和易于链接 2.Web与操作系统.浏览器平台无关 3.分布式 4.动态习惯 5.交互性 Web工作原理 HTTP(Hyper Text Transfer Protocol,超文本传输协议):提供了访问超文本信息的功能,是Web浏览器和Web服务器之间

Memcached介绍及安装

memcached:由LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件,现已成为mixi,hatena,Facebook,Vox,LiveJournal等众多服务器提高Web应用程序扩展性的重要因素: memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的"键值对"存储,用于存储数据库调用.API调用或页

VMware Horizon View Config Tool 用户使用手册之一 -- VCT介绍和安装之前的准备

安装Horizon View Configuration Tool VMware Horizon View Configuration Tool (以下简称为vCT), 现在版本为1.0, 本产品的用途为帮助用户自动安装部署 Horizon View 5.3的基础环境,其中包括域服务器,VMware vCenter 服务器,View Connection 服务器和View Composer服务器.本工具替代了复杂的手动安装部署步骤,能够自动部署基础的Horizon View环境. vCT发布为一