kong配置upstream实现简单的负载均衡

摘要:
目录通过konga实现1.配置上游2.配置服务发布3.配置路由和匹配规则4.通过KongAdminAPI验证结果1.配置上游3.配置服务3.配置路由[前言]:本文使用服务和路由知识作为基础,通过配置上游来实现nginx最基本的负载平衡。因为它是一个负载平衡器,所以它自然需要后端服务。接下来,配置Targets,即Upstreams中用于负载平衡的终端。找到我们刚刚创建的上游,然后单击DETAILTargetsto+ADDTARGET,填写测试界面信息,完成上游的配置。2.配置服务版本。配置一个服务,并在字段Url中填写我们刚刚配置的上游的名称。3.配置路由。匹配规则提示:输入主机、路径和方法时,请按Enter!!!
目录

[前言]

本文以service和route知识为基础,通过配置upsream实现nginx的最基础负载均衡。

我们最终通过Kong API将实现的访问效果如下:

kong配置upstream实现简单的负载均衡第1张

环境说明

# 开放两个测试的微服务接口
http://myhost1:8881
http://myhost2:8882
通过konga实现

1. 配置upstream

打开Konga左侧列表菜单中的UPSTREAMS, 点击 CREATE UPSTREAM

kong配置upstream实现简单的负载均衡第2张

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

kong配置upstream实现简单的负载均衡第3张

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

kong配置upstream实现简单的负载均衡第4张

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

kong配置upstream实现简单的负载均衡第5张

kong配置upstream实现简单的负载均衡第6张

2. 配置Service发布

配置一个Service,字段Url填写我们刚刚配置的UpstreamName

kong配置upstream实现简单的负载均衡第7张

3. 配置Route,匹配规则

kong配置upstream实现简单的负载均衡第8张

kong配置upstream实现简单的负载均衡第9张

提示: 在输入 hosts,paths,methods时,要按回车!!!

4. 验证结果

浏览器测试
通过Shift+F5 或 Ctrl+Shift+R,不使用缓存进行请求测试

kong配置upstream实现简单的负载均衡第10张

命令行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实现简单的负载均衡》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【原】无脑操作:Centos 7后台运行及终止jar包程序js img转换base64下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

开启9008端口进入深刷模式

除了前文所述,使用深刷线,还可以用命令开启9008端口,进入深刷模式。 adb reboot edl fastboot oem edl 这个在小米4c上测试ok 下面这个可能用于其他手机。 fastboot reboot emergency  ==================================== http://www.znsjw.net...

扫码登录功能如何实现?一文搞懂主流的扫码登录技术原理

原文地址:https://my.oschina.net/u/4231722/blog/3154805 作者:imtech 1. 引言 扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方式登录),但不得不说还是很酷的。 下面这张图,不管是IM开发者还是普通用户,应该很熟悉: 于是,搞IM产品的老板和产品经理们,从此又多了...

NetAnalyzer笔记 之 十三 NetAnalyzer 6.0 的使用方法 -- 2.抓包与数据选择

1.  NetAnalyzer使用方法 1.1.数据获取 通过上面的说明,我们已经可以很快的获取到网络数据了,但是,仅仅知道上面内容却远远不够。 在NetAnalyzer中将数据加载到软件有三种方式。   数据文件   字节字符串录入   网卡采集   抓包开始菜单 在开始标签中数据包组合数据采集组包含了这三种功能点 数据文件,很多的数据采集软件都具备...

Android常用工具之Bugly的使用

bugly是什么?百度百科上对bugly的介绍 总结下来是:腾讯的开放给开发者的一种平台服务,主要用于android和ios平台上的移动应用的crash和卡顿检测和快速定位以及提供解决方案。是免费服务。 而用过的人都知道,除了crash检测外,bugly还提供应用内升级和热修复等功能。 一切以官方文档为准:https://bugly.qq.com/docs...

laraveladmin新手的使用

1.添加页面 配置好laravel-admin的模板后 点击管理员管理里的菜单列表,输入如下信息即可 提交之后刷新页面,左侧菜单就会显示新增的广告管理的标签 2.定义路由 配置好前端的页面显示之后就要配置对应的路由了。 路由的配置信息在app=>Admin=>routes.php 直接在function下一行添加一个新的路由(被上传的水印...

Flask入门学习——蓝图Blueprint

flask蓝图可以实现应用程序的模块化,即通常作用于相同的url前缀,eg:/user/id,/user/profile等类似这样,可以放在一个模块当中,这样会让应用更加清晰便于开发与维护。 这里有个例子:(来源:Python web开发实战-董伟明) 模块user.py: from flask import Blueprint bp = Bluepri...