美文网首页
验证Kong的DB-less模式的配置更新逻辑

验证Kong的DB-less模式的配置更新逻辑

作者: 印随2018 | 来源:发表于2020-05-17 16:00 被阅读0次

一、安装Kong

sudo yum install -y wget jq
wget https://bintray.com/kong/kong-rpm/rpm -O bintray-kong-kong-rpm.repo
export major_version=`grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release | cut -d "." -f1`
sed -i -e 's/baseurl.*/&\/centos\/'$major_version''/ bintray-kong-kong-rpm.repo
sudo mv bintray-kong-kong-rpm.repo /etc/yum.repos.d/
sudo yum install -y kong

二、安装Httpbin

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl daemon-reload && systemctl restart docker

docker run -itd -p 80:80 kennethreitz/httpbin

curl http://127.0.0.1:80/ip

三、configure kong

cp /etc/kong/kong.conf.default /etc/kong/kong.conf
sed -i "/^#database/i\database = off" /etc/kong/kong.conf
sed -i "/^#nginx_worker_processes/i\nginx_worker_processes = 1" /etc/kong/kong.conf
sed -i "/^#declarative_config/i\declarative_config = /tmp/apis.yaml" /etc/kong/kong.conf

四、configure routes&services&plugins

cat > /tmp/apis.yaml <<EOF
_format_version: '1.1'

routes:
- name: route-httpbin
  protocols:
  - http
  paths:
  - /httpbin
  strip_path: true
  preserve_host: false
  regex_priority: 1
  service: service-httpbin

services:
- name: service-httpbin
  host: upstream-httpbin
  protocol: http
  port: 80
  connect_timeout: 60000
  read_timeout: 60000
  write_timeout: 60000
  retries: 5

upstreams:
- name: upstream-httpbin
  algorithm: round-robin

targets:
- upstream: upstream-httpbin
  target: 127.0.0.1:80
  weight: 100

plugins:
- config:
    generator: tracker
    header_name: X-Kong-Request-ID
    echo_downstream: true
  name: correlation-id
EOF

五、start Kong

kong start

六、update declarative config file

cat > /tmp/loop_update.sh <<EOF
#!/bin/bash

while true
do
   echo "config:"`date`
   curl -F "config=@/tmp/apis.yaml" http://127.0.0.1:8001/config
done
EOF

chmod +x /tmp/loop_update.sh
/tmp/loop_update.sh

七、open a new terminal and send request

cat > /tmp/loop_request.sh <<EOF
#!/bin/bash

while true
do
   curl  -i http://127.0.0.1:8000/httpbin/ip
done
EOF

chmod +x /tmp/loop_request.sh
/tmp/loop_request.sh

八、after a while, view logs/access.log


cat /usr/local/kong/logs/admin_access.log | wc -l

cat /usr/local/kong/logs/access.log  | grep 200 | wc -l
cat /usr/local/kong/logs/access.log  | grep 404 | wc -l
cat /usr/local/kong/logs/access.log  | grep 503 | wc -l

相关文章

  • 验证Kong的DB-less模式的配置更新逻辑

    一、安装Kong 二、安装Httpbin 三、configure kong 四、configure routes&...

  • Kong的DB-less模式

    一、背景 API Gateway的开源项目虽然很多,但也是良莠不齐,Kong在其中算是一个表现不错的项目,但是由于...

  • Kong DB-less(1)

    Kong专题 前言 Kong 推出1.1版本,带来了声明式配置(Declarative Configuration...

  • Kong配置项向导

    Kong配置文件 加载配置 Kong提供了一份默认配置文件,路径是 /etc/kong/kong.conf.def...

  • 配置详解 - 玩转Kong网关

    配置加载 Kong的默认配置在 /etc/kong/kong.conf.default 。如果你通过一个官方的安装...

  • kong配置参考

    加载配置 kong默认自带了一个默认配置/etc/kong/kong.conf.default,可以通过复制这个文...

  • Kong DB-less(0) 术语Terminology

    client:      请求Kong代理端口(proxy port)的下游客户端. upstream servi...

  • Kong 的Service和Route配置使用

    Kong的Service和Route实战 本文目标:实践Kong的service和route基础配置功能,实现简单...

  • Kong配置

    Service Service1 Service2 Nginx Kong 浏览器打开localhost:8002添...

  • kong配置

    kong需要配置后台数据库使用才有意义这里使用PG作为后台数据库(对后台数据库版本有要求,这里用的是12.*)如图...

网友评论

      本文标题:验证Kong的DB-less模式的配置更新逻辑

      本文链接:https://www.haomeiwen.com/subject/acjsohtx.html