Kong配置service负载均衡
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负载均衡相关推荐
- K8S 利用Rinetd实现Service负载均衡
Service负载均衡实现原理 修改配置文件 注释NodePort和nodePort:32500这两行配置,32500是用于暴露对外访问的端口. vim tomcat-service.yml 重新创建 ...
- 浅谈Kubernetes Service负载均衡实现机制
女主宣言 Kubernetes Serivce是一组具有相同label Pod集合的抽象(可以简单的理解为集群内的LB),集群内外的各个服务可以通过Service进行互相通信.但是Service的类型 ...
- Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布
Nginx配置之负载均衡.限流.缓存.黑名单和灰度发布 一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y (若不能安装,执行命令yum in ...
- [Nginx]nginx 配置实例-负载均衡
nginx 配置实例-负载均衡 1.实现效果 (1)浏览器地址栏输入地址 http://192.168.111.134/edu/a.html,负载均衡效果,平均分担到 8080和 8081 端口中 2 ...
- Nginx 部署、反向代理配置、负载均衡
Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...
- windows网络服务之配置网络负载均衡(NLB)群集
O首页51CTO博客我的博客搜索 每日博报 社区:学院论坛博客下载更多 登录注册 家园 学院 博客 论坛 下载 自测 门诊 周刊 读书 技术圈 曾垂鑫的技术专栏 http://5 ...
- Nginx以及通过Nginx实现tomcat集群配置与负载均衡
Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...
- nginx配置tcp负载均衡
1.历史背景 在服务器快速集群环境搭建中,都迫切需要一个能拿来即用的负载均衡器,nginx在1.9版本之前,只支持http协议web服务器的负载均衡,从1.9版本开始以后,nginx开始支持tcp的长 ...
- nacos集群搭建并配置nginx负载均衡
一.配置 nacos 集群 注意:需要先配置好 nacos 连接本地数据库 1.拷贝三份 nacos 2.修改配置文件(application.properties) 修改启动端口: nacos1:8 ...
最新文章
- idel 智能提示_intellij idea设置代码自动提示快捷键的详细方法.
- 万亿级日志与行为数据存储查询技术剖析(续)——Tindex是改造的lucene和druid...
- OpenCV2.4.9 For Android + Android Studio (with gradle)配置教程
- 数据结构与算法:异或运算
- kaggle房价预测问题
- JavaScript 中的 require / exports、import / export、浅谈JavaScript、ES5、ES6
- LoadRunner入门教程(4)—web性能测试常用指标
- Linux下安装流量监控工具iftop
- 360录屏时去掉跑马灯解决方法 以失败告终
- 王者荣耀空白代码_在线空白昵称代码复制
- BP神经网络模型及梯度下降法
- java8新特性之一:流式数据处理(包含list,map数据处理)。
- 互联网医院系统搭建,打造在线问诊系统新模式
- 如何到官网下载jqury
- 什么是重排、重绘,如何优化
- RPO 相对路径覆盖攻击
- Java Telephony
- 在linux下解压rar文件
- opencv图像转换与保存
- 图文详解 Windows 2003服务器集群安装(5)(完)
热门文章
- 记一篇IT培训日记042-暴脾气
- 【模板题】欧拉函数与线性筛求欧拉函数
- HEVC测试序列下载
- java 搜索_Java实现搜索功能代码详解
- 【Spring Boot】Spring Boot 2.x + Spring Security OAuth2 2.3.3 出现 bad client credentials 错误的踩坑记录
- 华大智造回复首轮问询:多名股东突击入股,自称规模相对较小
- 视频教程-SharePoint 工作流实战教程-其他
- 食蔬宝收银称重软件V1.0
- .vimrc的使用与配置
- 环保行业应用终端--4G/5G环保数据采集仪及智慧环保解决方案