欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Kong
来自开放百科 - 灰狐
Kong 是一个基于Nginx构建的Microservices和API开源(Apache v2)管理层。
目录 |
简介
云原生 API 网关,Apache v2 许可证。
安装
brew tap mashape/kong brew install kong kong --help kong start curl 127.0.0.1:8001 http://localhost:8001 http://localhost:8001/status/ http://localhost:8001/consumers/ http://localhost:8001/apis/ http://localhost:8001/apis/mockbin http://localhost:8001/plugins http://localhost:8001/plugins/enabled http://localhost:8001/apis/mockbin/plugins http://localhost:8001/plugins/schema/oauth2
Cassandra
使用测试数据库,/etc/kong/kong.yml,类似:
database: cassandra cassandra: contact_points: - "ec2-54-172-252-55.compute-1.amazonaws.com:35049"
PostgreSQL
Kong支持PostgreSQL存储。
Docker
Pull官方镜像
$ docker pull cassandra:2.2.4 $ docker pull mashape/kong
启动Cassandra
docker run -p 9042:9042 -d --name cassandra cassandra:2.2.4
启动Kong
$ docker run -d --name kong \ --link cassandra:cassandra \ -p 8000:8000 \ -p 8443:8443 \ -p 8001:8001 \ -p 7946:7946 \ -p 7946:7946/udp \ mashape/kong
运行
$ curl http://127.0.0.1:8001
Vagrant
$ git clone https://github.com/Mashape/kong cd kong $ git checkout next $ cd .. $ git clone https://github.com/Mashape/kong-vagrant $ cd kong-vagrant/ $ KONG_PATH=/Users/huihoo/kong vagrant up $ vagrant ssh $ cd /kong $ sudo make dev $ kong start -c kong_DEVELOPMENT.yml $ curl http://localhost:8001
DC/OS
组件
Kong可与两种不同的组件协同工作:
- Nginx: Kong使用经过修改的Nginx web服务器作为代理服务器,负责处理API请求。
- Apache Cassandra: 用作数据存储(datastore)服务器,负载存储来自Kong操作的数据。
相关Lua模块组件:
项目服务
- Mockbin
- API Embed
- Unirest
- Guardian JS
- OAuth Bible
- Public APIs
- serf 服务编排和管理工具,Go语言编写。
- dnsmasq
- API Log Format (ALF)
- https://gelato.io/
- https://getgalileo.io/
管理仪表盘
npm install -g kong-dashboard kong-dashboard start http://localhost:8080
git clone https://github.com/rsdevigo/jungle cd jungle npm install bower install vim modules/core/config/core.client.constants.js grunt && grunt serve http://localhost:3000
- 基于ng-admin构建
常见问题
/usr/local/bin/luajit: not found
git clone http://luajit.org/git/luajit-2.0.git cd luajit-2.0 git pull make sudo make install
error loading module 'lfs' from file '/usr/local/lib/lua/5.1/lfs.so':
sudo luarocks install luafilesystem
Can't find serf
https://www.serfdom.io/downloads.html
https://github.com/Mashape/kong/blob/master/kong/cli/services/nginx.lua sudo find / -type f -name "nginx"
error loading module 'lua_uuid'
sudo luarocks install lua_uuid
Missing required argument: kong-url
kong-dashboard start --kong-url http://192.168.0.241:2698
这是使用了容器所在的主机端口
{ "host_port": 2698, "container_port": 8001, "protocol": "tcp" }
用户
图集
链接
- Kong官网
- Kong @ GitHub
- Plugin Development Guide
- Public Lua API Reference
- Cassandra for Kong
- Kongdb - On demand Cassandra database for testing Kong
- Docker distribution for Kong
- How Mashape Manages Over 15,000 APIs & Microservices
分享您的观点