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的配置文件说明, ...
随机推荐
- unity UGUI填坑 之 HorizontalLayoutGroup 和 ContentSizeFitter配合使用
今天在项目中遇到一个问题,我们的ui过来找我,问为什么Content里的Item显示的不完全 花了半个小时看了一下,发现个小小的坑,记录一下 这些属性是用来实现,Content下的Item的偏移和间隔 ...
- Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)
1.简介 JMeter是一款压力.接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,用来监控服务器资源使用情况,不过需要安装一些插件.JMeter正常自 ...
- Ubuntu1804下k8s-CoreDNS占CPU高问题排查
1.背景: 最近在ubuntu804上适配k8s的时候,部署到业务pod的时候,出现了服务器卡死,top查看发现负载很高,进行CPU排序发现如下信息,可知是CoreDNS服务导致. 2. 分析排查: ...
- 重新整理 .net core 实践篇—————服务与配置之间[十一二]
前言 前面基本介绍了,官方对于asp .net core 设计配置和设计服务的框架的一些思路.看下服务和配置之间是如何联系的吧. 正文 服务: public interface ISelfServic ...
- [leetcode] 36. 有效的数独(Java)
没啥好说的,直接上就行 36. 有效的数独 class Solution { public boolean isValidSudoku(char[][] board) { Map<Charact ...
- OpenResty搭建高性能服务端
OpenResty搭建高性能服务端 Socket编程 Linux Socket编程领域为了处理大量连接请求场景,需要使用非阻塞I/O和复用,select.poll.epoll是Linux API提 ...
- Docker学习(5) 在docker中部署静态网站
在容器中部署静态网站 设置容器的端口映射 在容器中部署静态网站 - Nginx部署流程 1 创建映射80端口的交互式容器 2 安装Nginx 3 安装文本编辑器vim 4 创建静态页面 5 修改N ...
- descriptor 'decode' requires a 'bytes' object but received a 'NoneType'
记录在使用python过程中踩的坑------ 使用xlwt库对excel文件进行保存时报错 descriptor 'decode' requires a 'bytes' object but rec ...
- 3D重建算法原理
3D重建算法原理 三维重建(3D Reconstruction)技术一直是计算机图形学和计算机视觉领域的一个热点课题.早期的三维重建技术通常以二维图像作为输入,重建出场景中的三维模型.但是,受限于输入 ...
- HDR sensor 原理介绍
HDR sensor 原理介绍 一. HDR sensor 原理介绍 1. 什么是sensor的动态范围(dynamic range): sensor的动态范围就是sensor在一幅图像里能够同时体现 ...