zoukankan      html  css  js  c++  java
  • kong网关: service+route+upstream

    对于刚开始学习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-robinconsistent-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.typehealthchecks.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:允许访问该路由的协议;httphttps。默认两个都允许

         methods:匹配该路由的http方法,GETPOST

           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网关的配置先有个简单的梳理,有个大概的流程模型。后续再针对每个模块单独进行整理。


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

  • 相关阅读:
    EasyARM-iMX283A的Linux 开发环境构建
    linux指令tar笔记
    使用cuteFTP与虚拟机交互文件---安装ftp服务
    SecureCRT显示乱码的解决办法
    【转】简明 Vim 练级攻略
    图像识别___YUV学习手记
    一个简易的软件定时器
    OV7670配置和调试小结
    linux驱动开发( 五) 字符设备驱动框架的填充file_operations结构体中的操作函数(read write llseek unlocked_ioctl)
    hash-1.hash表和hash算法
  • 原文地址:https://www.cnblogs.com/jybky/p/11909880.html
Copyright © 2011-2022 走看看