参考资料

  1. Elasticsearch 是一个开源的分布式搜索和分析引擎
  2. OrientDB 是一个开源的 多模型数据库
  3. Gazebo是一款开源机器人模拟器
  4. Composer 是 PHP 的依赖管理工具
  5. io.js是Node.js的一个分支,由社区主导开发,旨在提供更快的迭代和更开放的治理模式
  6. Drupal 是一个开源的内容管理系统 (CMS),用于构建网站
  7. ROS (Robot Operating System) 简介
  8. Docker如何设置中文界面?

Kong 详细简介

Kong 是一个开源的云原生 API 网关和微服务管理平台,基于 Nginx 和 OpenResty 构建,提供高性能、可扩展的 API 管理能力。

特点

  1. 插件架构:支持认证、限流、日志等丰富插件。

  2. 高性能:基于 Nginx,支持高并发。

  3. 云原生支持:兼容 Kubernetes、Docker 等。

  4. 多协议支持:HTTP/HTTPS、gRPC、WebSocket 等。

  5. 数据库支持:PostgreSQL、Cassandra(社区版)。

最新更新内容及时间

  • 最新版本:3.4.x(截至 2023 年 10 月)

  • 更新内容

    • 新增 gRPC 路由增强。

    • 改进插件性能。

    • 安全漏洞修复。

镜像下载地址

官网地址

https://konghq.com/

文档地址

https://docs.konghq.com/

Docker 安装示例

# 启动 PostgreSQL 容器
docker run -d --name kong-database \
  -p 5432:5432 \
  -e POSTGRES_USER=kong \
  -e POSTGRES_DB=kong \
  postgres:13

# 初始化数据库
docker run --rm \
  --link kong-database:kong-database \
  -e "KONG_DATABASE=postgres" \
  -e "KONG_PG_HOST=kong-database" \
  kong:latest kong migrations bootstrap

# 启动 Kong
docker run -d --name kong \
  --link kong-database:kong-database \
  -e "KONG_DATABASE=postgres" \
  -e "KONG_PG_HOST=kong-database" \
  -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
  -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
  -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
  -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
  -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \
  -p 8000:8000 \
  -p 8443:8443 \
  -p 8001:8001 \
  -p 8444:8444 \
  kong:latest

YAML 设置教程(Kong 声明式配置)

_format_version: "1.1"
services:
- name: my-service
  url: http://example.com
  routes:
  - name: my-route
    paths: ["/"]
  plugins:
  - name: rate-limiting
    config:
      minute: 5

常用错误及问题

  1. 数据库连接失败

    • 检查 KONG_DATABASEKONG_PG_HOST 环境变量。

    • 确保数据库服务已启动。

  2. 插件加载失败

    • 确认插件名称拼写正确。

    • 检查插件兼容性(企业版/社区版)。

  3. 端口冲突

    • 默认占用 8000(代理)、8001(Admin API)、8443/8444(HTTPS)。

  4. 迁移错误

    • 使用 kong migrations upkong migrations finish 修复。

  5. 性能问题

    • 调整 Nginx 工作进程数量(KONG_NGINX_WORKER_PROCESSES)。