Kong+Konga+Consul

Kong+Konga+Consul 安装和使用 此处使用Docker安装方式 一、 安装Kong kong具体使用可参考另一篇文章:Kong API网关 为了确保 Kong、Konga 和 Consul 能够通信,Kong 和 Konga 也需要加入到同一个网络。如果你尚未创建网络,或者希望使用新的网络,可以创建一个: docker network create kong-net 1.1 安装 PostgreSQL (Kong 的数据库) Kong 需要 PostgreSQL 来存储其配置数据 docker run -d --name kong-database \ --network=kong-net \ -p 5432:5432 \ -e "POSTGRES_USER=kong" \ -e "POSTGRES_DB=kong" \ -e "POSTGRES_PASSWORD=kong" \ postgres:13 –network=kong-net: 确保数据库与 Kong、Consul 在同一网络。 -e 环境变量:设置数据库的用户名、数据库名和密码。 建议使用 PostgreSQL 9.6 或更高版本,这里使用了 13 版本。 1.2 初始化 Kong 数据库 运行一个临时容器来执行数据库迁移: docker run --rm \ --network=kong-net \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ -e "KONG_PG_USER=kong" \ -e "KONG_PG_PASSWORD=kong" \ kong:3....

August 1, 2025 · 3 min · Leanku

Kong API网关

Kong API网关 API网关特点 集合多个API,统一API入口 避免内部信息泄露 提供安全认证 支持混合通讯协议 降低微服务复杂度 常用的API网关有:NGINX,Zuul,Kong Kong 介绍 kong是微服务中的一个网关组件,具有高可用和可扩展性,能提供易于使用的restful api来操作和配置API管理系统,同时它也可以通过负载均衡的功能把请求均匀的分发到各个服务器上,应对大量的请求。基于Nginx和OpenResty,是一个具有分布式、高性能、高并发、可伸缩…亚毫秒级延迟等特性和功能的微服务抽象层。 konga 是kong的UI界面 多用户管理 管理多个kong节点 使用快照备份,还原和迁移Kong节点 使用运行状态检查监控节点和API状态 数据库集成postgresSQL Kong 流程图 Kong 安装 Kong下载安装 Konga下载安装 API操作 文档地址 示例: 负载均衡 # 添加负载均衡 curl -i -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -d "name=demo-upstream" \ 'http://127.0.0.1:8001/upstreams' #设置权重 curl -i -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -d "target=127.0.0.1:8000" \ -d "weight=100" \ 'http://127.0.0.1:8001/upstreams/demo-upstream/targets' curl -i -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -d "target=127.0.0.1:8080" \ -d "weight=500" \ 'http://127....

August 1, 2023 · 2 min · Leanku

Konga

Konga Konga的本质:Konga是一个图形化界面,它最终是通过调用你配置的 Kong Admin API 来修改Kong的配置的。 文档参考:遇到复杂场景时,最好的老师依然是Kong官方文档。 一、首次登录与初始化设置 访问Konga并注册:在浏览器中打开 http://<你的服务器IP>:1337。首次访问时,Konga会要求你注册一个管理员账户。填写用户名、邮箱和密码完成注册。 登录系统:注册成功后,Konga会自动跳转到登录页面,使用刚才注册的账号密码登录即可 二、 连接Konga与Kong网关 进入连接设置:登录成功后,你应该会看到"CONNECTIONS"或"Connections"界面。如果没有,请在左侧菜单或顶部导航栏中找到并点击 “Connections”。 填写Kong Admin API信息: Connection name:为你这个Kong连接起个名字,比如"My-Kong"或"Production"。 Kong Admin URL:这是你Kong网关的Admin API地址。非常重要! 格式通常是 http://:8001 如果你的Kong容器和Konga容器在同一个Docker网络(如 kong-net)中,你可以使用Kong的容器名和内部端口,例如:http://kong:8001。 如果你希望通过宿主机IP访问,可能需要使用宿主机的IP和映射给Kong Admin API的端口(例如 http://localhost:8001 或 http://<宿主机IP>:8001)。 激活连接:信息填写完毕后,点击 “Active” 或 “Connect” 等按钮来激活并测试连接。如果一切正常,Konga会提示连接成功。 三、 Konga核心功能与使用介绍 连接成功后,你就可以使用Konga来管理Kong了。Konga的核心功能围绕以下几个概念展开,理解它们之间的关系很重要: 概念 (Concept) 作用 (Role) 类比 (Analogy) 配置要点 (Key Configuration) Upstream 负载均衡组:代表一个虚拟主机名,用于对后端多个Target进行负载均衡。 球队的名称 Name:为Upstream命名(如 my-api-upstream)。 Target 具体目标:代表一个物理服务(IP+Port),是Upstream组内的一个具体后端实例。必须先创建Upstream,才能添加Target。 球队里的一个球员 Target:后端服务的IP或主机名及端口(如 192.168.1.100:8080)。Weight:权重,流量分配比例。 Service 服务抽象:是上游服务的抽象,可以直接指向一个具体的URL,也可以关联一个Upstream来实现负载均衡。 比赛的战术安排 Name:服务名称。Protocol:协议(HTTP/HTTPS)。Host:可填写具体URL或关联的Upstream名称。Port:端口。Path:路径(可选)。 Route 路由规则:定义客户端请求的匹配规则(如路径、域名),将匹配的请求路由到指定的Service。 根据球衣颜色决定把球传给谁 Paths:匹配的请求路径(如 /api)。Hosts:匹配的域名(可选)。Service:选择该路由要关联的Service。 四、 创建服务 (Services) 和路由 (Routes) 这是最常用的功能,用于将外部请求转发到你的后端服务。...

August 1, 2023 · 1 min · Leanku

Consul注册中心

Consul注册中心 CAP原理 一致性(Consistency) 所有节点在同一时间具有相同的数据 可用性(Availablility) 保证每个请求不管或者失败都有响应 分区容错(Partition tolerance) 系统中任意数据的丢失或失败不会影响系统的继续运作 Consul 介绍 方便部署 采用Raft算法实现,有服务发现,key/value存储,可以做配置中心使用。有健康检查,同事提供了web管理页面 Consul角色 -dev 开发环境下的启动命令,提供基本的服务 -client 客户端,无状态的,将http和dns请求转发到服务端集群 -server 服务端,保存配置信息,可以搭建高可用的集群 Consul 内部端口 端口 说明 TCP/8300 8300端口用于服务器节点。客户端通过该端口RPC协议调用服务端接口。 TCP/UDP/8301 8301端口用于单个数据中心所有节点之间的相互通信,即对LAN池信息的同步。它使得整个数据中心能够自动发现服务器地址,分布式检测节点故障,事件广播 TCP/UDP/8302 8302端口用于单个或多个数据中心之间的服务器节点的信息同步。即对WAN池信息的同步。它针对互联网的高延迟进行了优化,能够实现跨数据中心请求。 8500 8500端口基于HTTP协议,用于API接口或WEB UI访问。 8600 8600端口作为DNS服务器,它使得我们可以通过节点名查询节点的信息。 Consul 工作原理 Consul 安装 下载地址 或者docker安装 docker run -d --name=consul -p 8500:8500 consul:1.15.4 agent -dev -client 0.0.0.0 -ui 安装完成后,命令行输入consul 检查 consul 是否可用 Consul支持web ui界面。UI可用于查看所有服务和节点,查看所有运行状况检查及其当前状态,以及读取和设置键/值数据。 用户界面自动支持多数据中心。要设置自带的UI,请使用-ui参数启动Consul代理: consul agent -ui UI可以在与HTTP API相同的端口上的/ui路径中使用。 默认情况下,这是http://localhost:8500/ui。 注册个服务 使用HTTP API 注册个服务,使用[接口API](https://www.consul.io/api/agent/service.html API)调用...

June 1, 2023 · 1 min · Leanku