当前位置: 首页 > news >正文

Kong 负载均衡

负载均衡是一种将API请求流量分发到多个上游服务的方法。负载均衡可以提高整个系统的响应速度,通过防止单个资源过载而减少故障。

在以下示例中,您将使用部署在两台不同服务器或上游目标上的应用程序。Kong网关需要在这两台服务器之间进行负载均衡,以便如果其中一台服务器不可用,它会自动检测问题并将所有流量路由到正常工作的服务器。

上游指的是位于Kong网关后面的服务应用程序,客户端请求将被转发到这些应用程序。在Kong网关中,一个上游表示一个虚拟主机名,并可以用于对传入请求进行健康检查、断路和负载均衡,将其分发到多个目标后端服务。

在本节中,您将重新配置之前创建的服务(example_service),将其指向一个上游而不是特定的主机。在我们的示例中,上游将指向httpbin.org和httpbun.com这两个不同的目标。通常情况下,目标会是在不同主机系统上运行的相同后端服务的实例。

这是一个说明设置的图示:

开启负载均衡 

 在本节中,您将创建一个名为example_upstream的上游,并向其添加两个目标。

先决条件

本章节是“开始使用Kong”的系列的一部分。为了获得最佳体验,建议您从头开始按照系列进行操作。

从介绍“获取Kong”开始,其中包含运行本地Kong网关所需的先决条件和说明。

该指南的第二步“服务和路由”包括安装本系列中使用的模拟服务的说明。

如果您还没有完成这些步骤,请在继续之前完成它们。

启用负载均衡的步骤

1. 创建上游(upstream) 

使用管理API创建一个名为example_upstream的上游:

curl -X POST http://localhost:8001/upstreams \--data name=example_upstream

 2. 创建上游目标

为example_upstream创建两个目标。每个请求都会创建一个新的目标,并设置后端服务的连接端点:

curl -X POST http://localhost:8001/upstreams/example_upstream/targets \--data target='httpbun.com:80'
curl -X POST http://localhost:8001/upstreams/example_upstream/targets \--data target='httpbin.org:80'

 3. 更新服务

在本指南的“服务和路由”部分,您创建了一个名为example_service的服务,该服务指向一个具体的主机,即http://httpbun.com。现在您将修改该服务,使其指向上游而不是具体的主机:

curl -X PATCH http://localhost:8001/services/example_service \--data host='example_upstream'

 您现在有一个包含两个目标httpbin.org和httpbun.com的上游,以及一个指向该上游的服务。

4. 验证

通过使用Web浏览器或CLI访问路由http://localhost:8000/mock来验证您配置的上游是否正常工作。

  • Web浏览器:访问http://localhost:8000/mock并多次刷新页面,观察站点从httpbin更改为httpbun。
  • CLI命令:执行curl -s http://localhost:8000/mock/headers | grep -i -A1 '"host"'命令多次。您会看到主机名在httpbin和httpbun之间进行变化。

 

 

相关文章:

Kong 负载均衡

负载均衡是一种将API请求流量分发到多个上游服务的方法。负载均衡可以提高整个系统的响应速度,通过防止单个资源过载而减少故障。 在以下示例中,您将使用部署在两台不同服务器或上游目标上的应用程序。Kong网关需要在这两台服务器之间进行负载均衡&…...

基于Chrome插件的Chatgpt对话无损导出markdown格式(Typora完美显示)

Google插件名称为:ChatGPT to MarkDown plus, 下载地址为ChatGPT to MarkDown plus使用方法:见GitHub主页或插件介绍页面https://github.com/thisisbaiy/ChatGPT-To-Markdown-google-plugin/tree/main 我将源代码上传至了GitHub,欢迎star, Is…...

react函数组件中使用context

效果 1.在父组件中创建一个createcontext并将他导出 import React, { createContext } from react import Bpp from ./Bpp import Cpp from ./Cpp export let MyContext createContext(我是组件B) export let Ccontext createContext(我是组件C)export default function App…...

【MATLAB源码-第137期】基于matlab的NOMA系统和OFDMA系统对比仿真。

操作环境: MATLAB 2022a 1、算法描述 NOMA(非正交多址)和OFDMA(正交频分多址)是两种流行的无线通信技术,广泛应用于现代移动通信系统中,如4G、5G和未来的6G网络。它们的设计目标是提高频谱效…...

【FPGA Verilog】各种加法器Verilog

1bit半加器adder设计实例 module adder(cout,sum,a,b); output cout; output sum; input a,b; wire cout,sum; assign {cout,sum}ab; endmodule 解释说明 (1)assign {cout,sum}ab 是连续性赋值 对于线网wire进行赋值,必须以assign或者dea…...

【MySQL】-21 MySQL综合-7(MySQL主键+MySQL外检约束+MySQL唯一约束+MySQL检查约束)

MySQL主键MySQL外检约束MySQL唯一约束MySQL检查约束 MySQL主键选取设置主键约束的字段在创建表时设置主键约束在创建表时设置复合主键在修改表时添加主键约束 MySQL外键约束选取设置 MySQL 外键约束的字段在创建表时设置外键约束在修改表时添加外键约束删除外键约束 MySQL唯一约…...

【大厂AI课学习笔记】【1.6 人工智能基础知识】(3)神经网络

深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅草莓照片)可以使用 多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。 深度学习的最主要特征是使用神经网络作为计算模型。神经网络模型 …...

指针的基本含义及其用法

1.前言 在学习C语言的时候,我们会经常接触一个概念,指针和地址,关于这两个概念很多人并不能理解地十分透彻,接下来我将详细介绍一下这两者的概念 2.地址 我们知道计算机的上CPU(中央处理器)在处理数据的时…...

黄金交易策略(Nerve Nnife.mql4):趋势做单

完整EA:Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 当大小趋势相同行情走向也相同,就会开仓做顺势单,并会顺势追单,以达到快速止盈平仓的效果。大趋势追求稳定,小趋势追求敏捷,行情走向比小趋势更敏…...

HiveSQL——条件判断语句嵌套windows子句的应用

注:参考文章: SQL条件判断语句嵌套window子句的应用【易错点】--HiveSql面试题25_sql剁成嵌套判断-CSDN博客文章浏览阅读920次,点赞4次,收藏4次。0 需求分析需求:表如下user_idgood_namegoods_typerk1hadoop1011hive1…...

ClickHouse--01--简介

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. ClickHouse 简介官网: [https://clickhouse.com/docs/zh](https://clickhouse.com/docs/zh) 1.1 大数据处理场景1.2 什么是 ClickHouse1.3 OLAP 场景…...

【Django-ninja】在django ninja中处理异常

1. 直接抛内置异常 Django ninja内置了一些常用异常类。 from ninja.errors import HttpErrorapi.get("/some/resource") def some_operation(request):if True:raise HttpError(503, "Service Unavailable. Please retry later.")2. 覆写异常类 可以覆…...

【并发编程】原子累加器

📝个人主页:五敷有你 🔥系列专栏:并发编程 ⛺️稳重求进,晒太阳 JDK8之后有专门做累加的类,效率比自己做快数倍以上 累加器性能比较 参数是方法 // supplier 提供者 无中生有 ()->结果// func…...

Java 基于微信小程序的电子商城购物系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

Git Push -f 命令详解

直接看原文: Git Push -f 命令详解 - 玩转Linux - SegmentFault 思否 -------------------------------------------------------------------------------------------------------------------------------- git push -f 这个命令的作用是将自己本地仓库的代码直接推送至仓…...

【LeetCode每日一题】前缀和的例题1248. 统计「优美子数组」974. 和可被 K 整除的子数组

leetcode 724. 寻找数组的中心索引 题目描述 给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。 我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引&…...

备战蓝桥杯---数学基础3

本专题主要围绕同余来讲&#xff1a; 下面介绍一下基本概念与定理&#xff1a; 下面给出解这方程的一个例子&#xff1a; 下面是用代码实现扩展欧几里得算法&#xff1a; #include<bits/stdc.h> using namespace std; int gcd(int a,int b,int &x,int &y){if(b…...

[算法学习] 逆元与欧拉降幂

费马小定理 两个条件&#xff1a; p为质数a与p互质 逆元 如果要求 x^-1 mod p &#xff0c;用快速幂求 qmi(x,p-2) 就好 欧拉函数 思路&#xff1a;找到因数 i&#xff0c;phi / i * (i-1)&#xff0c;除干净&#xff0c;判断最后的n 欧拉降幂 欧拉定理 应用示例 m! 是一个…...

【Chrono Engine学习总结】4-vehicle-4.1-vehicle的基本概念

由于Chrono的官方教程在一些细节方面解释的并不清楚&#xff0c;自己做了一些尝试&#xff0c;做学习总结。 1、基本介绍 Vehicle Overview Vehicle Mannel Vehicle的官方demo 1.1 Vehicle的构型 一个车辆由许多子系统构成&#xff1a;悬挂、转向、轮子/履带、刹车/油门、动…...

腾讯云4核8G服务器多少钱?2024精准报价

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;标准型SA2服务器1444.8元一年&#xff0c;轻量应用服务器4核8G12M带宽一…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...