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


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

  • 相关阅读:
    HTML知识点总结之table
    HTML知识点总结之表单元素
    HTML知识点总结之div、section标签
    使用js脚本批量下载慕课网视频
    一种table超出高度自动出滚动条的解决方案
    C#算法之判断一个字符串是否是对称字符串
    强强联合之jquery操作angularjs对象
    锋利的js之验证身份证号
    锋利的js前端分页之jQuery
    超高性能的json序列化之MVC中使用Json.Net
  • 原文地址:https://www.cnblogs.com/jybky/p/11909880.html
Copyright © 2020-2023  润新知