参考资料

  1. Hola-Mundo 是一个开源项目,通常用作示例或模板项目
  2. NATS Streaming(现更名为STAN)是基于NATS的消息流系统
  3. Telegraf 是由 InfluxData 开发的开源服务器代理
  4. Cloudreve基于 Web 的云存储管理平台
  5. Convertigo是一个开源的低代码开发平台
  6. Rocket.Chat 是一款开源的团队聊天平台
  7. PostfixAdmin 是一个基于 Web 的邮件管理工具
  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)。

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。