Kong配置service负载均衡

文章目录

  • Kong配置service负载均衡
    • 1. 创建upstream
    • 2. 创建target关联upstream
    • 3. service(服务)
    • 4. route(路由)
    • 5.负载均衡补充

1. 创建upstream

Kong提供的一个负载的功能,基于Nginx的虚拟主机的方式做的负载功能。在service中的host可指定为upstream对象,upstream添加多个target来实现负债均衡。

--添加upstream
curl -i -X POST --url http://localhost:8001/upstreams/ --data 'name=nhs.wilmar.service'
--添加成功
HTTP/1.1 201 Created
Date: Tue, 09 Oct 2018 02:22:21 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.14.1
Content-Length: 670

2. 创建target关联upstream

target就是在upstream进行负载均衡的终端。微服务高可部署时,需要将每个节点作为一个target,并设置负载的权重。用upstream的ID或者name来关联,例如两个节点:

--添加target 1
curl -i -X POST --url http://localhost:8001/upstreams/{upstream name or id}}targets --data 'target=10.229.255.42:9007' --data 'weight=100'
--添加target 2
curl -i -X POST --url http://localhost:8001/upstreams/nhs.wilmar.service/targets --data 'target=10.229.255.42:9008' --data 'weight=50'
--添加成功
HTTP/1.1 201 Created
Date: Tue, 09 Oct 2018 02:27:15 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.14.1
Content-Length: 169

3. service(服务)

Kong对外提供的API,通过host配置可访问对应的服务。可与route关联,一个service可配置多个route。可通过plugin减少或者增加header或其他内容。通过hosts属性与upstream关联。

--添加服务
curl -i -X POST \--url http://localhost:8001/services/\--data 'name=test-service' \--data 'protocol=http'  \--data 'host=nhs.wilmar.service'
--添加结果
HTTP/1.1 201 Created
Date: Tue, 09 Oct 2018 02:44:26 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.14.1
Content-Length: 263

4. route(路由)

Kong路由,与service关联。配置后可转发到service,一个service可配置多个route。Route作为客户端的入口,通过将Route和Service的松耦合,可以通过hosts path等规则的配置,对应到相关的service。

--添加路由
curl -i -X POST \--url http://localhost:8001/routes/ \--data 'protocols[]=http' \--data 'protocols[]=https' \--data 'methods[]=GET' \--data 'methods[]=POST' \--data 'methods[]=PATCH' \--data 'methods[]=DELETE' \--data 'methods[]=PUT' \--data 'methods[]=OPTIONS' \--data 'paths[]=/test' \--data 'service.id=1d6709e4-298b-4b8d-842b-7f74b9551f15'
--添加成功
HTTP/1.1 201 Created
Date: Tue, 09 Oct 2018 02:46:58 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.14.1
Content-Length: 345

Kong的负载均衡搭建完毕,查看测试结果。

[root@SHH-HQ-NHS01S etc]# curl  http://nhs-dev.wilmar.cn:8000/test/recovery/kongTest
Hello, I'm kong service. port: 9007
[root@SHH-HQ-NHS01S etc]# curl  http://nhs-dev.wilmar.cn:8000/test/recovery/kongTest
Hello, I'm kong service. port: 9007
[root@SHH-HQ-NHS01S etc]# curl  http://nhs-dev.wilmar.cn:8000/test/recovery/kongTest
Hello, I'm kong service. port: 9007
[root@SHH-HQ-NHS01S etc]# curl  http://nhs-dev.wilmar.cn:8000/test/recovery/kongTest
Hello, I'm kong service. port: 9007
[root@SHH-HQ-NHS01S etc]# curl  http://nhs-dev.wilmar.cn:8000/test/recovery/kongTest
Hello, I'm kong service. port: 9008
[root@SHH-HQ-NHS01S etc]# curl  http://nhs-dev.wilmar.cn:8000/test/recovery/kongTest
Hello, I'm kong service. port: 9007
[root@SHH-HQ-NHS01S etc]# curl  http://nhs-dev.wilmar.cn:8000/test/recovery/kongTest
Hello, I'm kong service. port: 9008

5.负载均衡补充

各个模块对应的接口,有父子关系的,查询时带上父类的ID或者名称。每个模块对应的API(modules指services,routes,upstreams,targets):

--单个查询
curl -i -X GET http://host:8001/{modules}/{module id or name}
--列表查询 /{modules}
curl -i -X GET http://host:8001/{modules}
--父子关系
curl -i -X GET http://host:8001/{parents}/{parent name or id}/{child}
--更新
curl -i -X PATCH http://host:8001/{modules}/{module id or name}
--删除
curl -i -X DELETE http://host:8001/{modules}/{module id or name}

时序图:

sequenceDiagram
Routes->> Kong Services: match
Kong Services->> Upstreams: match
Upstreams->> targets: match
targets->> Wilmar Micro Services: visit

各个模块参数官方说明地址:https://docs.konghq.com/0.13.x/admin-api/#add-service

Kong配置service负载均衡相关推荐

  1. K8S 利用Rinetd实现Service负载均衡

    Service负载均衡实现原理 修改配置文件 注释NodePort和nodePort:32500这两行配置,32500是用于暴露对外访问的端口. vim tomcat-service.yml 重新创建 ...

  2. 浅谈Kubernetes Service负载均衡实现机制

    女主宣言 Kubernetes Serivce是一组具有相同label Pod集合的抽象(可以简单的理解为集群内的LB),集群内外的各个服务可以通过Service进行互相通信.但是Service的类型 ...

  3. Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布

    Nginx配置之负载均衡.限流.缓存.黑名单和灰度发布 一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y (若不能安装,执行命令yum in ...

  4. [Nginx]nginx 配置实例-负载均衡

    nginx 配置实例-负载均衡 1.实现效果 (1)浏览器地址栏输入地址 http://192.168.111.134/edu/a.html,负载均衡效果,平均分担到 8080和 8081 端口中 2 ...

  5. Nginx 部署、反向代理配置、负载均衡

    Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...

  6. windows网络服务之配置网络负载均衡(NLB)群集

    O首页51CTO博客我的博客搜索 每日博报 社区:学院论坛博客下载更多            登录注册 家园 学院 博客 论坛 下载 自测 门诊 周刊 读书 技术圈 曾垂鑫的技术专栏 http://5 ...

  7. Nginx以及通过Nginx实现tomcat集群配置与负载均衡

    Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...

  8. nginx配置tcp负载均衡

    1.历史背景 在服务器快速集群环境搭建中,都迫切需要一个能拿来即用的负载均衡器,nginx在1.9版本之前,只支持http协议web服务器的负载均衡,从1.9版本开始以后,nginx开始支持tcp的长 ...

  9. nacos集群搭建并配置nginx负载均衡

    一.配置 nacos 集群 注意:需要先配置好 nacos 连接本地数据库 1.拷贝三份 nacos 2.修改配置文件(application.properties) 修改启动端口: nacos1:8 ...

最新文章

  1. idel 智能提示_intellij idea设置代码自动提示快捷键的详细方法.
  2. 万亿级日志与行为数据存储查询技术剖析(续)——Tindex是改造的lucene和druid...
  3. OpenCV2.4.9 For Android + Android Studio (with gradle)配置教程
  4. 数据结构与算法:异或运算
  5. kaggle房价预测问题
  6. JavaScript 中的 require / exports、import / export、浅谈JavaScript、ES5、ES6
  7. LoadRunner入门教程(4)—web性能测试常用指标
  8. Linux下安装流量监控工具iftop
  9. 360录屏时去掉跑马灯解决方法 以失败告终
  10. 王者荣耀空白代码_在线空白昵称代码复制
  11. BP神经网络模型及梯度下降法
  12. java8新特性之一:流式数据处理(包含list,map数据处理)。
  13. 互联网医院系统搭建,打造在线问诊系统新模式
  14. 如何到官网下载jqury
  15. 什么是重排、重绘,如何优化
  16. RPO 相对路径覆盖攻击
  17. Java Telephony
  18. 在linux下解压rar文件
  19. opencv图像转换与保存
  20. 图文详解 Windows 2003服务器集群安装(5)(完)

热门文章

  1. 记一篇IT培训日记042-暴脾气
  2. 【模板题】欧拉函数与线性筛求欧拉函数
  3. HEVC测试序列下载
  4. java 搜索_Java实现搜索功能代码详解
  5. 【Spring Boot】Spring Boot 2.x + Spring Security OAuth2 2.3.3 出现 bad client credentials 错误的踩坑记录
  6. 华大智造回复首轮问询:多名股东突击入股,自称规模相对较小
  7. 视频教程-SharePoint 工作流实战教程-其他
  8. 食蔬宝收银称重软件V1.0
  9. .vimrc的使用与配置
  10. 环保行业应用终端--4G/5G环保数据采集仪及智慧环保解决方案