对于刚开始学习kong网关,总是一脑子浆糊迷迷糊糊。虽然已经安装好,但却不知道接下来如何下手,

因为包含项太多:service、routes、upstream、consumer、plugins等等。一时不知从何下手配置服务。

最后又重新打开kong网关的基本介绍,看完之后决定先把问题简单化。所以第一步就先搭建一个service和route,

随后又构建了upstream。这三部分完成之后,一个基本的网关功能就算实现了。

简单画了一个流程图,基本表现了kong网关的调用过程。一共分为五部分:用户客户端、routes、services、upstream、target服务端。

客户端就是调用方,

routes路由匹配客户端的请求规则。匹配成功后分配到service层。一个路由指向一个service,一个service可以被多个不通规则的路由routes指向。

  访问地址是kong网关地址+代理端口(默认http:8000,https:8443)

service服务是一个抽象服务层,可以用于指向具体物理服务(target),也可以指向upstream用于实现物理服务的负载效果。一个service对于upstream、target都是一对一的关系。

upstream主要用于实现kong的负载功能,一个service匹配到一个upstream后,upstream可以指向多个target服务以此来实现负载的效果。

target服务端指的就是最后的物理服务,当然也可以是其他的虚拟服务。

接下来开始搭建,因为上面的每一层都需要依赖下一层进行配置,所以我们可以从低层开始配置(也开始先创建高层,随后再行修改配置)

注意:以下新增命令都是post请求,如果使用get请求会返回已创建的信息;kongIp指的是kong网关的地址。http请求使用8001端口,https请求使用8444端口。

一、upstream

命令:http://kongIp:8001/upstreams/

主要参数:name(不能为空,service指向时使用),

      algorithm(负载规则):默认round-robin。目前支持三种:round-robin, consistent-hashing, or least-connections

      healthchecks.active.type:检查目标服务器target的健康方式。一共三类tcp、http、https

      healthchecks.active.http_path:使用http协议检查target服务是否健康时绑定的路径。该路径可以指向target服务的一个请求地址,用于检测

      target:指向具体得服务地址或者其他中间件服务。可匹配多个target。在新增target时需设定weight(权重),用于负载。

        每个新建的target会有一个health指标,用于标记target是否联通健康。就是通过 healthchecks.active.type、healthchecks.active.http_path以及其他参数监测。

二、services

命令:http://kongIp:8001/services

主要参数:name:可为空,创建后生成一个id。routes通过id绑定service

protocol:请求upstream的协议(http、https)。默认http

     host:upstream name(一定要和upstream名称保持一致)

     port:请求upstream的端口(虚拟端口,可自定义)。默认80

     path:请求upstream的路径。

三、routes

命令:http://kongIp:8001/routes

主要参数:name:route Name

     protocols:允许访问该路由的协议;http\https。默认两个都允许

     methods:匹配该路由的http方法,GET\POST

       hosts: 匹配该路由的host地址,可以是ip也可以是域名。可以配置多个。如果是域名的话注意需要有域名解析

     paths:匹配路由访问的路径

        service.id:指向服务的id

以上就是这三部分构造的主要参数值。还有未列出的参数值大多有默认值。需要的话可自行添加修改

ps:

routes:http://centos7.kong:8000/land

service:http://landservice:9000/

upstream:http://land_up

target:http://192.168.60.1:9003/land

以上是我配置的信息,配置完成后可以通过访问routes地址直接访问到http://192.168.60.1:9003/land应用服务

主要通过这边文章对kong网关的配置先有个简单的梳理,有个大概的流程模型。后续再针对每个模块单独进行整理。


人生在世,杂事七八;饭要少吃,事要多知;抽个时间,总结一下;乐在分享,自在提升

最新文章

  1. Redis 3.2 Linux 环境集群搭建与java操作
  2. C# 在异步中使用HttpWebRequest出现的“正在终止线程”错误的解决方案
  3. [转载]C/C++可变参数之va_start和va_end使用详解
  4. 如何用 matlab 在图片上绘制矩形框 和 添加文字 ?
  5. 关于javascript里面仿python切片操作数组的使用方法
  6. 三.CSS层叠机制
  7. Linux安装包
  8. 应聘linux/ARM嵌入式开发岗位
  9. Linux使用小笔记<安装篇>
  10. js 、jq强化复习
  11. shell统计文本中单词的出现次数
  12. OC面向对象的三大特性
  13. win10环境下如何运行debug
  14. Springboot 拦截器 依赖注入失败
  15. angular raido checkbox select取值
  16. [代码]--给任意网站添加聊天功能,随时聊(fa)天(che)
  17. CentOS7安装Java还是无法使用javac
  18. (一)juc线程高级特性——volatile / CAS算法 / ConcurrentHashMap
  19. 【转】 CRC循环冗余校验码
  20. HDU4632 Poj2955 括号匹配 整数划分 P1880 [NOI1995]石子合并 区间DP总结

热门文章

  1. SQL-W3School-测验:SQL 测验
  2. MySQL批量导入Excel、txt数据
  3. Linux下通过shell进MySQL执行SQL或导入脚本
  4. Cognos Framework操作记录
  5. 微信H5支付开发全过程(除内置微信以外的浏览器)
  6. VSCode 查看、还原本地代码历史版本
  7. Vue Router路由管理器介绍
  8. 总结几个最近处理问题中使用http协议的代码
  9. xmind常用快捷键
  10. [转帖]Linux 中的零拷贝技术,第 2 部分