kong配置upstream实现简单的负载均衡
[前言]:
本文以service和route知识为基础,通过配置upsream实现nginx的最基础负载均衡。
我们最终通过Kong API将实现的访问效果如下:

环境说明
# 开放两个测试的微服务接口
http://myhost1:8881
http://myhost2:8882
通过konga实现
1. 配置upstream
打开Konga左侧列表菜单中的UPSTREAMS, 点击 CREATE UPSTREAM

这里,只需要写一个Name,保证Service的配置可以正确匹配到我们就可以了。

既然是负载均衡,自然少不了后端服务,接下来配置在Upstreams进行负载均衡的终端——Targets。
找到我们刚才创建的upstream,然后点击DETALS

Targets to + ADD TARGET,填写测试接口信息,完成对UPSTREAM的配置


2. 配置Service发布
配置一个Service,字段Url填写我们刚刚配置的Upstream的Name

3. 配置Route,匹配规则


提示: 在输入
hosts,paths,methods时,要按回车!!!
4. 验证结果
浏览器测试
通过Shift+F5 或 Ctrl+Shift+R,不使用缓存进行请求测试

命令行API 测试
$ curl -i -X GET --url http://localhost:8000 --header 'Host: test.app.com'
通过 Kong Admin API实现
route根据paths转发给相应的service根据host(upstream的name)转发给 upstream负载均衡至targets,这就是kong的负载均衡执行流程。
下面再学习一下通过Admin API如何完成负责均衡配置
1. 配置upstream
创建upstream
$ curl -X POST localhost:8001/upstreams \
--data "name=app.com"
为upstream配置target
$ curl -X POST localhost:8001/upstreams/app.com/targets \
--data "target=myhost1:8881" \
--data "weight=100"
$ curl -X POST localhost:8001/upstreams/app.com/targets \
--data "target=myhost2:8882" \
--data "weight=100"
等同于创建了如下配置:
upstream upstream.api {
server myhost1:8881 weight=100;
server myhost2:8882 weight=100;
}
2. 配置service
$ curl -X POST localhost:8001/services \
--data "name=my-app-service" \
--data "host=app.com"
3. 配置route(more)
$ curl -X POST localhost:8001/services/a9b8a3e9-826b-47fa-ae78-0fcf111662a1/routes \
--data "name=test-app-route" \
--data "hosts[]=test.app.com" \
--data 'strip_path=false'
或者
$ curl -X POST localhost:8001/routes \
--data "name=test-app-route" \
--data "hosts[]=test.app.com" \
--data "service.id=a9b8a3e9-826b-47fa-ae78-0fcf111662a1" \
--data 'strip_path=false'
[sleepy↓]
kong配置upstream实现简单的负载均衡的更多相关文章
- Docker+nginx+tomcat7配置简单的负载均衡
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/4995513.html 本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 ...
- Nginx 简单的负载均衡配置示例(转载)
原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...
- Windows下nginx+tomcat实现简单的负载均衡
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...
- nginx Win下实现简单的负载均衡(1)nginx搭建部署
快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...
- linux下配置tomcat集群的负载均衡
linux下配置tomcat集群的负载均衡 一.首先了解下与集群相关的几个概念集群:集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台.在客户端看来,一个集群就象是一个服 ...
- nginx Win下实现简单的负载均衡(2)站点共享Session
快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...
- Nginx+proxy实现简单的负载均衡
环境说明:操作系统centos6.6 64位web操纵系统是:web1=192.168.10.10(LAMP) web2=192.168.10.11(LNMP),这里只是测试nginx实现负载均衡效果 ...
- python实现简单的负载均衡
提到分发请求,相信大多数人首先会想到Nginx,Nginx作为一种多功能服务器,不仅提供了反向代理隐藏主机ip的能力,还拥有简单的缓存加速功能.当然Nginx最强大的功能还是分发请求,不仅提供了哈希, ...
- Nginx 简单的负载均衡配置示例
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html 在此记录下Nginx服务器nginx.conf的配置文件说明, ...
随机推荐
- SpringBoot基础学习(一) SpringBoot概念、简单案例实现、单元测试及热部署讲解
SpringBoot概念 Spring优缺点分析 Spring优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品,无需开发重量级的 ...
- 记一次 .NET 某三甲医院HIS系统 内存暴涨分析
一:背景 1. 讲故事 前几天有位朋友加wx说他的程序遭遇了内存暴涨,求助如何分析? 和这位朋友聊下来,这个dump也是取自一个HIS系统,如朋友所说我这真的是和医院杠上了,这样也好,给自己攒点资源, ...
- Django(44)drf序列化源码分析(1)
序列化与反序列化 一般后端数据返回给前端的数据格式都是json格式,简单易懂,但是我们使用的语言本身并不是json格式,像我们使用的Python如果直接返回给前端,前端用的javascript语言 ...
- [leetcode] 69. x 的平方根(纯int溢出判断实现)
69. x 的平方根 非常简单的一个题,用二分法逼近求出ans即可,额外注意下溢出问题. 不过我要给自己增加难度,用long或者BigNum实现没意思,只能使用int类型 换句话当出现溢出时我们自己得 ...
- Linux系统挂载NFS文件系统
https://help.aliyun.com/document_detail/90529.html?spm=a2c4g.11186623.6.570.43212f30T5yM4w
- MySQL 基础、安装、配置
1. MySQL 基础 1.1 什么是数据库? 1.2 数据库的类型 1.3 关系型数据库的优点 1.4 MySQL 简介 1.5 MySQL 数据类型 1.6 Mysql 存储引擎 1.7 MySQ ...
- CUDA上的量化深度学习模型的自动化优化
CUDA上的量化深度学习模型的自动化优化 深度学习已成功应用于各种任务.在诸如自动驾驶汽车推理之类的实时场景中,模型的推理速度至关重要.网络量化是加速深度学习模型的有效方法.在量化模型中,数据和模型参 ...
- CUDA统一内存分析
CUDA统一内存分析 PascalMIG 如 NVIDIA Titan X 和 NVIDIA Tesla P100 是第一个包含页 GPUs 定额引擎的 GPUs ,它是统一内存页错误处理和 MIG ...
- 1738. 找出第 K 大的异或坐标值
2021-05-19 LeetCode每日一题 链接:https://leetcode-cn.com/problems/find-kth-largest-xor-coordinate-value/ 标 ...
- pycharm在虚拟机跑深度学习Mac
1.在PyCharm里配置部署环境 打开PyCharmTools > Deployment > Configuration, 新建一个SFTP服务器,名字自己取: 输入如下图配置,注意这里 ...