深入理解API网关Kong:初识Kong网关

深入理解API网关Kong:初识Kong网关

介绍

Kong是一个开源的、可扩展的、微服务 API 网关,它已经在全球范围内的各种规模的组织中广泛使用。Kong的设计原则是为了处理服务到服务的通信,通过提供功能丰富的平台,实现对API的全面管理。

Kong的核心优点在于其高度可扩展性和插件生态。由于其基于插件的架构,用户可以定制和扩展Kong的功能以满足特定的业务需求。插件范围从认证和授权,到限流、日志和监控等等,几乎可以涵盖API生命周期中的所有方面。

Kong还具有出色的性能和可靠性。由于它基于Nginx和OpenResty,因此能够处理大量的并发连接,并保持低延迟。同时,Kong也支持跨多个数据中心的分布式部署,提供了高度的可用性和故障转移能力。

Kong的另一个关键优势是其开源本质。这意味着它的源代码对公众开放,可以自由地使用和修改。这使得Kong拥有了强大的社区支持,其中包括开发者、用户和贡献者,他们不断地推动Kong的发展,提供新的功能,修复bug,以及提供有价值的反馈。

Kong不仅限于处理HTTP和HTTPS流量。它也支持gRPC, TCP, UDP, Websockets等多种协议,使得它可以在各种环境中发挥作用,包括但不限于云环境、本地环境,以及混合环境。

总的来说,Kong是一个功能强大,灵活且高度可扩展的API网关,适用于所有规模的组织。无论你是在构建一个复杂的微服务架构,还是只是需要一个能够有效管理API的工具,Kong都是一个值得考虑的选项。

官网地址:https://docs.konghq.com/gateway/latest/

image-20230604153430627

安装Kong

官方的安装地址:https://docs.konghq.com/gateway/3.3.x/install/

image-20230604153523009

这里我介绍使用docker来部署,默认已经安装好了docker和docker-compose

创建kong数据库

我已经提前安装了PostgreSQL数据,这里我就创建一个空的kong数据库和kong数据库用户

image-20230604170743259

kong的docker-compose.yml

version: '3'
services:
  kong:
    image: kong:3.3.0
    restart: always
    command: >
      /bin/sh -c "
        kong migrations bootstrap;
        kong start
      "
    environment:
      KONG_DATABASE: postgres
      KONG_PG_HOST: 192.168.100.1
      KONG_PG_PORT: 5432
      KONG_PG_USER: kong_admin
      KONG_PG_PASSWORD: kong_admin
      KONG_PG_DB: kong
      KONG_PROXY_ACCESS_LOG: /dev/stdout
      KONG_ADMIN_ACCESS_LOG: /dev/stdout
      KONG_PROXY_ERROR_LOG: /dev/stderr
      KONG_ADMIN_ERROR_LOG: /dev/stderr
      KONG_ADMIN_LISTEN: 0.0.0.0:8001, 0.0.0.0:8444 ssl
    ports:
      - 8000:8000
      - 8443:8443
      - 8001:8001
      - 8444:8444

这里的command命令是用来初始化数据表的

    command: >
      /bin/sh -c "
        kong migrations bootstrap;
        kong start
      "

启动完成后数据库会自动建好表,如下所示:

image-20230604170940126

启动kong

在docker-compose.yml同级目录下执行启动命令:

sudo docker-compose up -d

启动成功后可以使用命令进行查看:

sudo docker-compose ps

image-20230604171340008

还可以使用浏览器访问http端口来查看启动状态:

http://192.168.100.1:8001/

image-20230604171519694

安装Konga

Konga是一个为Kong API Gateway设计的开源管理界面。它旨在为Kong API Gateway提供一个简单、易用的管理界面,帮助用户更加方便地管理和监控其API。

Konga的主要功能包括:

  • 服务和路由管理:用户可以通过Konga轻松地创建、更新、删除和查看服务和路由。
  • 插件管理:Konga支持Kong的所有插件,让用户可以更方便地配置和管理插件。
  • 消费者管理:用户可以使用Konga管理API的消费者,包括创建消费者、分配API key、设置ACL等。
  • 监控和警报:Konga提供了丰富的监控功能,包括实时图表、日志和警报,帮助用户实时了解API的使用情况。
  • 集群管理:Konga支持管理多个Kong节点,非常适合在分布式环境中使用。

除了这些功能,Konga还提供了友好的用户界面和丰富的文档,使得用户可以更轻松地上手和使用。并且,由于Konga是开源的,用户可以根据自己的需求进行定制和扩展,也可以参与到Konga的开发和完善中来。

总的来说,Konga是一个功能丰富、易用且灵活的Kong管理工具,无论你是Kong的新手还是老手,都可以从Konga中受益。

Konga的docker-compose.yml

这里我们依旧使用docker来安装konga

version: '3'

services:
  konga:
    image: pantsel/konga:latest
    ports:
      - "1337:1337"
    environment:
      TOKEN_SECRET: the_secret_token

在docker-compose.yml同级目录下执行启动命令:

sudo docker-compose up -d

启动成功后可以使用命令进行查看:

sudo docker-compose ps

image-20230604172004133

配置Konga

启动成功后访问http://192.168.100.1:1337

可以看到页面并且让你注册一个用户,注册完成后就可以用该账号登陆了,如下所示:

image-20230604170313996

第一次登陆需要配置kong的地址http://192.168.100.1:8001,如下图所示:

image-20230604170218267

配置完成后如下图所示:

image-20230604170244363

到此安装配置完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙霸天

你的打赏是我不断创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值