Go微服务: 基于Docker搭建Kong网关环境

Kong网关UI -> Kong Manager 使用 本篇文章就是使用总结,针对 kong网关的原理网上很多。 阅读详情

概述

  • 在当今的微服务架构中,API网关扮演着至关重要的角色,它作为系统的统一入口
  • 负责处理所有内外部请求,实现路由转发、负载均衡、安全控制、限流熔断等多种功能
  • Kong,作为一个开源、高性能、可扩展的API网关,凭借其强大的插件系统和易于部署的特性,成为了众多企业和开发者的首选
  • Kong的插件架构使得其功能扩展变得非常简单,用户可以根据自己的需求选择合适的插件来满足业务需求
  • 在微服务架构日益盛行的今天,API网关成为了连接客户端与后端服务的关键组件
  • Kong作为一款高性能、可扩展的API网关,凭借其强大的功能和灵活的插件机制,成为了许多企业的首选

环境搭建

1 )准备相关镜像

  • $ docker pull postgres:13
  • $ docker pull kong/kong-gateway:3.7.0.0

2 )创建专属docker网络

  • $ docker network create kong-net

3 ) 启动 PostgreSQL 容器

docker run -d --name kong-database \
 --network=kong-net \
 -p 5432:5432 \
 -e "POSTGRES_USER=kong" \
 -e "POSTGRES_DB=kong" \
 -e "POSTGRES_PASSWORD=kongpass" \
 postgres:13

4 ) 准备 Kong 数据库

docker run --rm --network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kongpass" \
-e "KONG_PASSWORD=test" \
kong/kong-gateway:3.7.0.0 kong migrations bootstrap

5 ) 启动 Kong 网关容器

docker run -d --name kong-gateway \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kongpass" \
-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" \
-e "KONG_ADMIN_GUI_URL=http://localhost:8002" \
-e KONG_LICENSE_DATA \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
-p 8002:8002 \
-p 8445:8445 \
-p 8003:8003 \
-p 8004:8004 \
kong/kong-gateway:3.7.0.0
  • 注意,这里的 KONG_LICENSE_DATA 是可选的,可以不用添加
  • 如果有企业版, 则填入 license 作为环境变量
    • $ export KONG_LICENSE_DATA='{"license":{"payload":{"admin_seats":"1","customer":"Example Company, Inc","dataplanes":"1","license_creation_date":"2017-07-20","license_expiration_date":"2017-07-20","license_key":"00141000017ODj3AAG_a1V41000004wT0OEAU","product_subscription":"Konnect Enterprise","support_plan":"None"},"signature":"6985968131533a967fcc721244a979948b1066967f1e9cd65dbd8eeabe060fc32d894a2945f5e4a03c1cd2198c74e058ac63d28b045c2f1fcec95877bd790e1b","version":"1"}}'
    • 上述只是 官方提供的一个 example
    • 有则,可选填入

验证安装

  • $ curl -i -X GET --url http://localhost:8001/services
    HTTP/1.1 200 OK
    Date: Fri, 31 May 2024 00:09:57 GMT
    Content-Type: application/json; charset=utf-8
    Connection: keep-alive
    Access-Control-Allow-Origin: http://localhost:8002
    X-Kong-Admin-Request-ID: 53c753455d4d5616aea80450a1497b62
    vary: Origin
    Access-Control-Allow-Credentials: true
    Content-Length: 23
    X-Kong-Admin-Latency: 634
    Server: kong/3.7.0.0-enterprise-edition
    
  • 出现以上200就是安装成功了

进入 Kong Manager

  • http://localhost:8002

在这里插入图片描述

默认是不需要密码登录的,如果需要配置用户登录,可以在下面进行配置

在这里插入图片描述
之后,我们可以进行相关的配置了

在这里插入图片描述
如果需要开通 企业版,可以体验更多功能

详讲api网关之kong的基本概念及安装和使用(一) 前面我们聊过sentinel,用来限流熔断和降级,如果你只有一个服务,用sentinel自然没有问题,但是如果是有多个服务,特别是微服务的兴起,那么每个服务都使用sentinel就给系统维护带来麻烦。那么网关是个啥东西呢,简单来说,网关就是一个服务器,也是所有服务的唯一入口。api网关不仅可以实现系统层面的限流熔断等技术,还可以提供服务发现,负载均衡,协议转换,流量管理,黑白名单,反爬策略,身份验证,灰度发布,监控,缓存等等功能。 阅读详情

相关推荐

利用 docker-compose 快速搭建 Kong 微服务网关与 Konga 可视化平台

本文详细介绍了如何使用docker-compose快速搭建Kong微服务网关与Konga可视化平台。通过优化配置和实战案例,帮助开发者高效部署容器化的API网关解决方案,实现流量管理、安全认证等核心功能,提升微服务架构的稳定性和可维护性。

weixin_33724046的博客 399

go语言编写自定义KONG网关插件以及如何安装和使用

go语言编写自定义KONG网关插件以及如何安装和使用

bocai_xiaodaidai的博客 1814

别再裸奔了,API 网关才是微服务的“正经门卫”——Kong 与 APISIX 实战指南

《别再裸奔了!Kong与APISIX网关实战指南》指出微服务裸奔暴露的隐患,强调API网关在安全治理中的核心作用。作者对比Kong(老牌稳定)和APISIX(国产高性能)的特性,演示快速搭建方法,列举生产级功能对比表(限流/认证/监控等),揭示网关作为"架构抽象层"的价值。最后给出5大实践建议:环境预置、配置管理、文档同步、插件节制和监控强化,呼吁将网关作为微服务的第一防线。全文通过真实案例说明缺乏网关将导致运维灾难,强调"门卫"对系统稳定性的关键作用。(149字)

Echo_Wish 359

kong的安装以及简单配置

kong的安装以及简单使用

燕少江湖 3968

Go-Kong一款可扩展快速且开源的微服务API网关

Kong:一款可扩展、快速且开源的微服务 API 网关,用于管理、保护与连接混合及云原生架构。Kong 运行于全部服务之前,并可以通过插件实现各种扩展,例如身份验证、流量控制以及可观察性等等。

go-kong:绑定Kong的admin API

高空 绑定Kong的Admin API 输入 go get github.com/kong/go-kong/kong 兼容性 go-kong与Kong 1.x和2.x兼容。 go-kong版本控制遵循语义版本控制。 发电机 此kong/zz_generated.deepcopy.go某些代码(例如kong/zz_generated.deepcopy.go是从API类型生成的(请参阅kong/types.go )。 更改API类型后,可以使用以下命令运行生成器: ./hack/update-deepcopy-gen.sh 执照 go-kong已获得Apache许可证版本2.0的许可。 请阅读LICENSE文件以获取更多详细信息。

go kong安装使用

Kong 的优势在于。

leijmdas的专栏 1267

企业微信/飞书/钉钉扫码连WiFi保姆级教程(附访客授权技巧)

本文提供了一份企业微信、飞书、钉钉扫码连接WiFi的实战部署教程。通过集成标准Radius协议与OAuth 2.0,企业可实现基于身份的无密码网络认证,并详细介绍了访客授权、权限分级等精细化管理技巧,有效提升无线网络的安全性与员工体验。

t4y5u6i7o的博客 1196

每日一Go-51、Go微服务--API网关-Kong

可以看见consul和kong都已经启动成功,user-server和order-server都还在不断重启,那是因为没有读到consul的kv配置。4. 编写一个user-server服务(./user-server/main.go)5. 再加一个order-server(./order-server/main.go)API网关应该做以下事情:路由、鉴权、限流、熔断、协议转换;当你的Go微服务数量≥3的时候,你就应该上API网关了。

藏云的优快云博客 392

【Anaconda】解决“libGL error: MESA-LOADER: failed to open iris”问题

stackoverflow中的“libGL error: MESA-LOADER: failed to open iris”问题。而在自己创建的conda环境中的lib下出现`GLIBCXX_3.4.30’ not found 的情况。在上述解决方案中,将第一行命令的lib路径换成自己创建的conda环境lib路径,运行指令,问题解决。目前问题解决,总结一下查找资料以及解决方法。运行如下命令,发现本地支持。

quintus0505的博客 5025

从DC到DCG:手把手教你搭建物理感知综合流程(含DEF文件处理避坑指南)

本文详细介绍了从Design Compiler(DC)过渡到DC Topographical(DCT)和DC Graphical(DCG)的完整操作框架,特别针对DEF文件处理提供避坑方案。通过环境准备、工具升级、DEF文件处理、DCG综合配置等步骤,帮助开发者高效应对28nm以下工艺节点的物理感知综合挑战,显著提升时序收敛效率。

weixin_27966471的博客 381

API网关介绍及选型(kong)

API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。 API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通...

pushiqiang的博客 1万+

论文分享|ECCV2022,PATnet,Cross-Domain Few-Shot Semantic Segmentation,CDFSS新基准,文末有复现教程

这篇论文提出的跨域小样本语义分割(CD-FSS)任务,旨在将源域学习的分割能力迁移到目标域,仅需少量标注样本。针对传统小样本分割方法在跨域场景性能下降的问题,作者提出了基于金字塔锚点变换的网络(PATNet),通过将域相关特征转换为域无关特征,并引入任务自适应微调推理(TFI)提升目标域适应能力。实验表明,PATNet在1-shot和5-shot设置下分别比现有方法提升8.49%和10.61%的准确率。同时,作者构建了CD-FSS基准并设计了任务难度评估指标。代码和数据集已开源,复现难度中等。

m0_74277350的博客 1097

微服务网关 Kong 快速上手攻略

点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!作者 |码农小胖哥来源 |公众号「码农小胖哥」1. 前言今天我们来搭建Kong的环境。以便于以后对Ko...

程序猿DD 896

网易CodeWave智能生成应用实战:5分钟搞定库存管理系统(附详细配置截图)

本文详细介绍了如何利用网易CodeWave智能生成应用在5分钟内快速构建定制化库存管理系统。通过自然语言描述需求,无需编程即可生成包含产品管理、库存预警等核心功能的应用,并支持字段微调、业务流程注入等深度优化。文章附有详细配置截图,帮助用户高效实现数字化转型。

julia4scientist的博客 888

【智能优化算法】2024年SCI鳗鱼-石斑鱼优化算法(EGO),含MathType公式、word伪代码、visio流程图、matlab代码等。

该文中包括5个内容:用MathType编辑的公式、伪代码、visio的流程图,matlab代码,PDF论文,拿来直接用,可以帮助科研者省下超多时间。 鳗鱼-石斑鱼优化算法(Eel and grouper optimizer ,EGO)是一种新型的元启发式算法(智能优化算法),灵感来源于海洋生态系统中鳗鱼和石斑鱼的共生作用和觅食策略。该成果由Ali Mohammadzadeh和Seyedali Mirjalili两位作者于2024年6月发表在SCI著名期刊《Cluster Computing》上。

2301_79359347的博客 1044

Docker部署Kong

Docker部署Kong

叱咤少帅的博客 1482

【GameFramework框架】二、GameFramework框架介绍

Game Framework框架是由E大(Ellan Jiang)开源的一款基于Unity的通用游戏框架。Game Framework框架提供了游戏开发中常用的框架基础模块,将基础模型进行了封装,在资源管理和资源更新方面比较完善,可以大大加大开发进程,加快开发速度,并且还在在此此处上保证产品质量。实在是代码开发、框架学习、编程进阶、居家旅行哦不对,是提升自己的最佳实践。Game Framework框架。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 5851

单独安装access_微服务之Kong网关(安装部署篇)

KongKong是一个在 Nginx 中运行的Lua应用程序,并且可以通过lua-nginx模块实现,Kong不是用这个模块编译Nginx,而是与 OpenResty 一起发布,OpenResty已经包含了 lua-nginx-module, OpenResty 不是 Nginx 的分支,而是一组扩展其功能的模块。它的核心是实现数据库抽象,路由和插件管理,插件可以存在于单独的代码库中,并且可以在几...

weixin_39517202的博客 525

锂电池SOH估计 | 基于LSTM模型的锂电池SOH估计(Python)

锂电池SOH估计 | 基于LSTM模型的锂电池SOH估计(Python)

前程算法屋的博客 1434

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

「码动四季·开源同行」go实战案例:如何使用 Kong 进行网关业务化定制?

本文围绕微服务网关 Kong 展开,先说明微服务改造中网关的必要性,指出基于 Nginx 的 Kong 因高性能、高可用及插件化扩展优势成为主流选型,并解释 Route、Service、Consumer 等核心术语。 接着介绍通过 Docker Compose 部署 Kong、Konga 管理面板及 PostgreSQL 数据库的实践步骤,完成初始化与验证。 随后讲解 Kong 核心使用流程:通过管理 API 或界面创建 Service 与 Route 实现请求转发;并实操三大插件:JWT 认证实现接口安全

共产主义接班人 761

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

2025 Kong 3.7从入门到专家:API网关实战指南

你是否还在为API服务的流量管理、安全防护和性能优化而烦恼?作为云原生领域的领军API网关,Kong凭借其高扩展性和灵活的插件生态,已成为连接微服务与AI应用的核心枢纽。本文将带你从环境搭建到高级功能开发,系统掌握Kong 3.7的全栈能力,解决90%的API管理痛点。 读完本文你将获得: - 3种环境部署方案(Docker/源码/Kubernetes) - 10+核心插件实战配置(限流/认证/...

gitblog_00098的博客 777

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

从零搭建微服务:docker-compose实战指南

首先确定每个服务的分工:商品服务用Spring Boot+MySQL处理商品信息,订单服务用Go+PostgreSQL记录交易数据,用户服务用Python+Django+MongoDB管理账户。这种技术栈组合既考虑了各语言生态的优势,又保持了服务间的独立性。docker-compose的模块化设计让扩展变得很容易,比如后期要加支付服务或推荐服务,只需要在yml文件里新增一段配置就行。这个项目包含了商品、订单、用户三个核心服务,加上API网关和前端应用,通过容器化部署让整个系统跑起来特别顺畅。

SunstoneLion34的博客 723

开源API网关,到底哪个强?

cpus: ‘1’memory: 256Mreservations:memory: 256MK6 通过 Nginx 网关的测试结果如下:图片每秒处理的请求数量是 1093,和不通过网关转发相比非常接近。从功能上看,Nginx 可以满足用户对于 API 网关的大部分需求,可以通过配置和插件的方式来支持不同的功能,性能非常优秀。缺点是没有管理的 UI 和管理 API,大部分的工作都需要手工配置 config 文件的方式来进行。商业版本的功能会更加完善。Kong====Kong 是基于 NGINX 和 OpenR

2301_79058522的博客 1158

Kong插件Prometheus的Grafana图形化展示 mac 版本

1。kong 安装 [mac 官网安装的教程](https://docs.konghq.com/install/macos/?_ga=2.171414304.1436893142.1569807528-400194218.1569807528) https://docs.konghq.com/install/macos/?_ga=2.171414304.1436893142.156980752...

weixin_39560112的博客 1968

开源免费的API网关介绍与选型

API网关在现代微服务架构中极其重要,作为内外通信桥梁,它不仅简化了服务调用过程,还增强了安全性与可管理性。通过API网关,可以实现统一的身份验证和授权机制,确保只有经过认证的请求才能访问后端服务;同时,API网关支持流量控制、负载均衡等功能,提高系统稳定性。对于开发者来说,API网关提供了一个统一的服务入口点,简化文档维护,并使版本管理和日志记录更加便捷。主流API网关如Kong和apisix、Higress都具备强大的协议转换能力、安全隔离措施及流量控制功能,支持API定义、发布和版本化。

xingxuechao的专栏 7700
上一篇: Go微服务: 封装nacos-sdk-go的v2版本与应用
下一篇: Typescript高级: 深入理解infer关键字
Wang's Blog
博客等级 码龄12年 7433粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值