资讯专栏INFORMATION COLUMN

三分钟上手基于openresty开发的kong网关系统

Paul_King / 3136人阅读

摘要:作为非全家桶的一员,在非领域的网关系统中得到了广泛的应用使用一键启动参考项目启动过程如下查看操作效果可以看到监控了个端口端口作用网关网关管理的管理注册服务等服务相关的操作使用管理,普通请求到网关或者网关注册服务比如说

kong作为非java全家桶的一员,在非java领域的网关系统中得到了广泛的应用

使用docker一键启动kong

参考项目:github.com/Kong/docker…

启动过程如下:

git clone https://github.com/Kong/docker-kong.git cd docker-kong/compose docker-compose up -d

查看操作效果:

可以看到kong监控了4个端口

端口 作用
8000 http网关
8443 https网关
8001 管理api
8444 https的管理api

注册服务等服务相关的操作使用管理api,普通api请求到http网关或者https网关

注册服务

比如说把服务https://jsonplaceholder.typicode.com/todos/注册到kong里面

curl -i -X POST --url http://localhost:8001/services/ --data "name=note-service" --data "url=https://jsonplaceholder.typicode.com/todos/"

这个时候服务已经注册了,但是通过访问http://127.0.0.1:8000/note-service/3是无法访问的

这是因为并没有把"http://127.0.0.1"这个host映射到note-service

映射host

curl -i -X POST --url http://localhost:8001/services/note-service/routes --data "hosts[]=127.0.0.1"

查看操作效果

可以看到kong网关已经成功代理这个"jsonplaceholder.typicode.com/todos/"后端服务了

服务存活检测

字段参考:docs.konghq.com/1.1.x/healt…

upstream.json

{ "name": "mynote", "healthchecks": { "active": { "concurrency": 10, "healthy": { "http_statuses": [ 200, 302 ], "interval": 0, "successes": 0 }, "http_path": "/", "timeout": 1, "unhealthy": { "http_failures": 0, "http_statuses": [ 429, 404, 500, 501, 502, 503, 504, 505 ], "interval": 0, "tcp_failures": 0, "timeouts": 0 } }, "passive": { "healthy": { "http_statuses": [ 200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308 ], "successes": 0 }, "unhealthy": { "http_failures": 0, "http_statuses": [ 429, 500, 503 ], "tcp_failures": 0, "timeouts": 0 } } }, "slots": 10 }

curl -i -X POST -H "Content-Type: application/json" -d "@upstream.json" --url http://localhost:8001/upstreams

操作效果如下

ui界面

使用上面的curl管理kong虽然不复杂,但是看起来不直观,可以kong的可视化界面konga

docker一键启动命令如下

docker run -p 1337:1337 --rm --name konga -e "NODE_ENV=development" -e "TOKEN_SECRET={{somerandomstring}}" pantsel/konga

效果如下

可以看到还是非常直观的

参考资料

    github.com/Kong/docker…

    docs.konghq.com/1.1.x/getti…

    docs.konghq.com/1.1.x/getti…

    docs.konghq.com/1.1.x/healt…

    docs.konghq.com/1.1.x/admin…

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/6680.html

相关文章

  • FastD 最佳实践: 构建API网关

    摘要:我们需要将业务或服务放置在网关背后,由网关统一处理请求入口,本身由多个入口的处理变成了一个入口,由网关进行统一调度。网关负责来搞这些事情,你只需要知道网关就好了。 构建完成 API 服务,配置中心之后,架构图大致如下: showImg(https://segmentfault.com/img/remote/1460000010676395); 我们为何需要网关 引用 别人 的一句话: ...

    CoXie 评论0 收藏0
  • API网关Kong-简介

    摘要:为万开发者提供每月数十亿的请求支持。在请求和响应之间,将执行任何安装的插件,扩展的功能集。其有效的成为每个的请求入口。主要组件介绍基于服务器,用来接受请求的。总结就是一个针对管理系统,并提供了很多关于网关功能的扩展插件介绍插件使用脚本编写。 1、简介 Kong 是一个企业级服务网关,底层是使用lua语言,整合Nginx 实现了强大的服务转发,路由,验证功能, 1.2 官方描述 Kong...

    张宪坤 评论0 收藏0
  • 企业对API网关怎么应用与选择

    摘要:而当企业只是将系统与系统之间的调用使用的方式进行访问时使用网关对调用进行管理,那么网关起到的就是服务治理的作用。另外很多企业因为自身信息安全的原因,不能使用外网公有网的网关服务,这样就只有选择私有云的方案了。 showImg(https://segmentfault.com/img/bVbsVBA?w=255&h=255); 前言 「 API网关 」是任何微服务架构的重要组成部分。有了...

    wuaiqiu 评论0 收藏0
  • 个推基于Docker和Kubernetes微服务实践

    摘要:个推针对服务场景,基于和搭建了微服务框架,提高了开发效率。三容器化在微服务落地实践时我们选择了,下面将详细介绍个推基于的实践。 2016年伊始Docker无比兴盛,如今Kubernetes万人瞩目。在这个无比需要创新与速度的时代,由容器、微服务、DevOps构成的云原生席卷整个IT界。个推针对Web服务场景,基于OpenResty和Node.js搭建了微服务框架,提高了开发效率。在微服...

    yibinnn 评论0 收藏0
  • 个推基于Docker和Kubernetes微服务实践

    摘要:个推针对服务场景,基于和搭建了微服务框架,提高了开发效率。三容器化在微服务落地实践时我们选择了,下面将详细介绍个推基于的实践。 2016年伊始Docker无比兴盛,如今Kubernetes万人瞩目。在这个无比需要创新与速度的时代,由容器、微服务、DevOps构成的云原生席卷整个IT界。个推针对Web服务场景,基于OpenResty和Node.js搭建了微服务框架,提高了开发效率。在微服...

    genefy 评论0 收藏0

发表评论

0条评论

Paul_King

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<