[前言]

本文以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填写我们刚刚配置的UpstreamName

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实现简单的负载均衡的更多相关文章

  1. Docker+nginx+tomcat7配置简单的负载均衡

    本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/4995513.html 本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 ...

  2. Nginx 简单的负载均衡配置示例(转载)

    原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...

  3. Windows下nginx+tomcat实现简单的负载均衡

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...

  4. nginx Win下实现简单的负载均衡(1)nginx搭建部署

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

  5. linux下配置tomcat集群的负载均衡

    linux下配置tomcat集群的负载均衡 一.首先了解下与集群相关的几个概念集群:集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台.在客户端看来,一个集群就象是一个服 ...

  6. nginx Win下实现简单的负载均衡(2)站点共享Session

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

  7. Nginx+proxy实现简单的负载均衡

    环境说明:操作系统centos6.6 64位web操纵系统是:web1=192.168.10.10(LAMP) web2=192.168.10.11(LNMP),这里只是测试nginx实现负载均衡效果 ...

  8. python实现简单的负载均衡

    提到分发请求,相信大多数人首先会想到Nginx,Nginx作为一种多功能服务器,不仅提供了反向代理隐藏主机ip的能力,还拥有简单的缓存加速功能.当然Nginx最强大的功能还是分发请求,不仅提供了哈希, ...

  9. Nginx 简单的负载均衡配置示例

    http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html 在此记录下Nginx服务器nginx.conf的配置文件说明, ...

随机推荐

  1. 五分钟带你读懂 堆 —— heap(内含JavaScript代码实现!!)

    一.概念  说起堆,我们就想起了土堆,把土堆起来,当我们要用土的时候,首先用到最上面的土.类似地,堆其实是一种优先队列,按照某种优先级将数字"堆"起来,每次取得时候从堆顶取.  堆 ...

  2. ubuntu16.04服务自启动(弹控制台)

    一.设置root桌面用户登录 1.vim  /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 在最后一行添加greeter-show-manual-lo ...

  3. Go语言网络通信---TCP通信上传一个小文件

    server: package main import ( "fmt" "net" "os" ) func SHandleError(err ...

  4. Linux分区创建、挂载

    fdisk -l 这块盘是没有分区的,没有被使用. fdisk /dev/vdb 操作这块磁盘, 创建分区 格式化/dev/sdb1为ext4 mkfs -t ext4 /dev/vdb1 mkfs. ...

  5. YOLOv5目标检测源码重磅发布了!

    YOLOv5目标检测源码重磅发布了! https://github.com/ultralytics/yolov5 该存储库代表了对未来对象检测方法的超解析开源研究,并结合了在使用之前的YOLO存储库在 ...

  6. Jmeter读取python生成的参数

    一.环境准备 1.准备python文件,测试脚本执行结果:下图中的打印的信息即JMeter预期要获取的参数信息 2.准备bat文件 3.添加 OS Process Sampler读取批处理文件 二. ...

  7. mybatis学习——类型别名(typeAliases)

    为什么要用类型别名? 答:类型别名可为 Java 类型设置一个缩写名字. 它仅用于 XML 配置,意在降低冗余的全限定类名书写. 举个例子说明: 在我们编写映射文件的时候: <?xml vers ...

  8. 剑指 Offer 05. 替换空格

    链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/ 标签:字符串 题目 请实现一个函数,把字符串 s 中的每个空格替换成"%2 ...

  9. WordPress安装篇(4):YUM方式安装LNMP并部署WordPress

    YUM方式安装软件的优点就是简单.方便.快捷,本文介绍在Linux上如何使用YUM方式快速安装LNMP并部署WordPress.使用Linux CentOS 7.9 + Nginx 1.18 + My ...

  10. Redis源码解析之跳跃表(三)

    我们再来学习如何从跳跃表中查询数据,跳跃表本质上是一个链表,但它允许我们像数组一样定位某个索引区间内的节点,并且与数组不同的是,跳跃表允许我们将头节点L0层的前驱节点(即跳跃表分值最小的节点)zsl- ...