前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >KONG网关工作流程简介「建议收藏」

KONG网关工作流程简介「建议收藏」

作者头像
全栈程序员站长
发布2022-10-03 10:11:26
发布2022-10-03 10:11:26
70700
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

KONG网关工作流程简介

KONG网关工作流程图

KONG网关工作流程介绍

代码语言:javascript
代码运行次数:0
运行
复制
上面流程图仅仅是一个大致的示意图,不包含cosumer,plugin,先了解kong大致工作路程,再去深究。

一、流程 route路由器接收到请求后,根据路由规则,把请求转发到相应的service,service根据host、path、或者url属性,把请求直接转发到 target或者把请求转发到upstream (bb两句,这里其实upsteam对service来说是透明的,upstream在service看来就是一个target,加了upstream只是为了负载均衡,把请求分发到不同服务器的相同服务上) 二、具体组件介绍

route。路由器,根据路径转发请求到相应服务。 route有如下属性 1、name:路由器的名字。跟service绑定定时需要这个属性。 2、protocols:允许访问该路由的协议;http、https。默认两个都允许。 3、methods:匹配该路由的http方法,GET\POST 4、hosts: 这个作为域名匹配,请求头里的host与hosts配置的host进行匹配进行验证。 5、paths:匹配路由访问的路径。 6、 service.id:指向服务的id 创建route可以有两种方式。

代码语言:javascript
代码运行次数:0
运行
复制
$ curl -i -X POST \
  --url http://localhost:8001/services/service名称/routes \
  --data 'paths[]=/route-path(路径)'
代码语言:javascript
代码运行次数:0
运行
复制
curl -i -X POST \
--url http://localhost:8001/routes \
--data 'service.id=service的id' \
--data 'paths[]=/route-path(路径)'
<!--如果不知道id,可以使用以下请求获取service的id,这会返回所有service的信息-->
curl -i -X GET   --url http://localhost:8001/services/ 

service。服务。中间商,下接路由,上接真真的具体的服务。 service具有如下属性 1、name:可为空,创建后生成一个id。routes通过id绑定service 2、protocol:请求upstream的协议(http、https)。默认http 3、host:upstream name(一定要和upstream名称保持一致) 4、port:请求upstream的端口(虚拟端口,可自定义)。默认80 5、path:请求upstream的路径。与host、port、path共同组成url。可以直接使用url这个作为参数把host,port,path三个参数一并传递。这个url是指向target或者upsteam的路径 创建service有如下方式

代码语言:javascript
代码运行次数:0
运行
复制
curl -i -X POST \
--url http://localhost:8001/services/ \
--data 'name=service-name' \
--data 'url=http://service.com/request'
代码语言:javascript
代码运行次数:0
运行
复制
curl -i -X POST \
 --url http://localhost:8001/services/ \
--data 'name=skynet-service' \
--data 'host=10.133.235.129' \
--data 'port=8080' \
--data 'path=/skynet'

consumer。消费者,代表用户。可以利用consumer实现role这样的角色验证。有待学习。

plugin。插件。十分有用,可以对请求进行各种校验。plugin插件用lua脚本实现。自己编写的plugin脚本需要修改plugin的配置文件,才能使用。有待学习。

参考文章:https://www.cnblogs.com/jybky/p/11909880.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197743.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月3日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • KONG网关工作流程简介
  • KONG网关工作流程图
  • KONG网关工作流程介绍
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档