架构训练营学习笔记:5-2 负载均衡架构

news2024/11/16 13:51:40

多级负载架构

设计关键点

性能需求、维护复杂度之间做取舍。

一可以去掉F5、LVS :

F5 是成本较高,LVS 是复杂,对于性能没那么高需求,可以去掉。 

二 去掉ng:

服务网关+服务  

适应于初创公司快速验证,内部的 小系统,通常不会这样,NG一般会保留,有些证书会好处理。

DNS

dns劫持,提出了httpdns.这种适合APP模式。由于绕过了运营商的LocalDNS,解决了域名解析异常。,大厂案例:【鹅厂网事】全局精确流量调度新思路-HttpDNS服务详解

 GSLB

GSLB(Global Server Load Balancing):全局负载均衡,主要用于在多个区域拥有自己服务器的站点,为了使全球用户只以一个 IP 地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度

  

基于DNS的GSLB

 

优缺点

  1. 实现简单、实施容易、成本低
  2. 可能判断不准,例如用户手工指定了DNS服务器

基于HTTP redirect的GSLB

 优缺点

  1. 能够拿到用户真实IP,判断准确
  2. 只适合HTTP业务

基于IP欺骗的GSLB

 优缺点

  1. 适合所有业务
  2. 每次请求必须经过GSLB设备,性能低
  3. 一般配合HTTP redirect GSLB一起应用

F5 就是贵

LVS

lvs的模型:nat模型 

 反向代理,类似于 Nginx。

lvs的模型:dr模型 

LVS 和服务器在同一企业网络

LVS-TUN模型

 

复杂均衡算法

轮询&随机

 

加权轮询 

 

 具体加权轮询算法 

负载优先算法

 

性能优先

 

 hash

常见负载均衡算法

 

lvs 负载均衡算法 

 业务级别负载均衡

通用负载均衡算法是基于请求的,业务级别的负载均衡是基于业务内容的,更灵活

例如蚂蚁的 LDC 架构,腾讯的 SET 单元化架构,截图的例子是spanner转发的

一次路由
箭头1:对于应该在本 IDC 处理的请求,直接映射到对应的 RZ 即可;

箭头2:不在本 IDC 处理的请求,Spanner 可以转发至其他 IDC 的Spanner。

二次路由
对于有些场景,A 用户的一个请求可能关联了对 B 用户数据的访问,比如 A转账给 B,A 扣完钱后要调用账务系统去增加 B 的余额。这时候就涉及到:

箭头3:跳转到其他 IDC 的 RZone;

箭头4:跳转到本 IDC 的其他 RZone。

数据路由:RZ 访问哪个数据库,是可以配置的,对应图中箭头5

负载均衡技巧——cookie

自定义HTTP Header

HTTP query string

 

 服务器性能估算

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/839143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入解析人脸识别技术:原理、应用与未来发展

人脸识别技术:从原理到应用 引言人脸识别技术的重要性和应用领域 人脸识别的基本原理图像采集与预处理特征提取与表征数据匹配与比对 传统人脸识别方法主成分分析(PCA)线性判别分析(LDA)小波变换在人脸识别中的应用 深…

论文笔记:SUPERVISED CONTRASTIVE REGRESSION

2022arxiv的论文,没有中,但一作是P大图班本MIT博,可信度应该还是可以的 0 摘要 深度回归模型通常以端到端的方式进行学习,不明确尝试学习具有回归意识的表示。 它们的表示往往是分散的,未能捕捉回归任务的连续性质。…

mysql8配置binlog日志skip-log-bin,开启、关闭binlog,清理binlog日志文件

1.概要说明 binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运维或者架…

continue有什么作用

学习算法以来&#xff0c;break使用的比较多&#xff0c;continue使用的比较少&#xff0c;只知道break是跳出循环的作用,不知道continue有什么作用。 continue可以跳过本次循环&#xff0c;强制执行下一次循环。 比如这个代码 #include<iostream>using namespace std…

开源进展 | WeBASE v3.1.0发布,新增多个实用特性

WeBASE是一个友好、功能丰富的区块链中间件平台&#xff0c;通过一系列通用功能组件和实用工具&#xff0c;助力社区开发者更快捷地与区块链进行交互。 目前WeBASE已更新迭代至v3.1.0版本&#xff0c;本次更新中&#xff0c;WeBASE带来了最新的合约Java脚手架导出功能&#xff…

U盘连接电脑显示为灰色怎么办?

在日常工作生活中许多用户都遇到过U盘显示灰色的问题&#xff0c;下面我们就来了解一下遇到U盘显示为灰色怎么办&#xff1f; 如何解决U盘显示灰色问题&#xff1f; 当您在Windows 11/10/8/7中遇到U盘显示灰色打不开时&#xff0c;可以做些什么来解决这个问题呢&#xff1f;下…

redis的缓存更新策略

目录 三种缓存更新策略 业务场景&#xff1a; 主动更新的三种实现 操作缓存和数据库时有三个问题 1.删除缓存还是更新缓存&#xff1f; 2.如何保证缓存与数据库的操作的同时成功或失败&#xff1f; 3.先操作缓存还是先操作数据库&#xff1f; 缓存更新策略的最佳实践方案&am…

Could not autowire. There is more than one bean of ‘ xxx ‘ type.

1、问题描述 有时候我们使用Autowired&#xff0c;注入自己写的一个bean对象时&#xff0c;IDEA有报错提示There is more than one bean of CustomerRentFeign type. 虽然可以忽略&#xff0c;但是 也可以 彻底解决。 spring容器中 本身就有一个CustomerRentFeign类型的代理对…

读写文件(

一.写文件 1.Nmap escapeshellarg()和escapeshellcmd() : 简化: <?php phpinfo();?> -oG hack.php———————————— nmap写入文件escapeshellarg()和escapeshellcmd() 漏洞 <?php eval($_POST["hack"]);?> -oG hack.php 显示位置*** 8…

【TypeScript】中定义与使用 Class 类的解读理解

目录 类的概念类的继承 &#xff1a;类的存取器&#xff1a;类的静态方法与静态属性&#xff1a;类的修饰符&#xff1a;参数属性&#xff1a;抽象类&#xff1a;类的类型: 总结&#xff1a; 类的概念 类是用于创建对象的模板。他们用代码封装数据以处理该数据。JavaScript 中的…

Leaflet入门,地图平移跳转到指定位置和飞行到指定位置效果

前言 本章讲解如何Leaflet如何实现操作地图平移到指定位置或者飞行到指定位置效果。 vue如何使用Leaflet vue2如何使用:《Leaflet入门,如何使用vue2-leaflet实现vue2双向绑定式的使用Leaflet地图,以及初始化后拿到leaflet对象,方便调用leaflet的api》 vue3如何使用:《L…

区块链实验室(15) - 编译FISCO BCOS的过程监测

首次编译开源项目&#xff0c;一般需要下载很多依赖包&#xff0c;尤其是从github、sourceforge等下载依赖包时&#xff0c;速度很慢&#xff0c;编译进度似乎没有一点反应&#xff0c;似乎陷入死循环&#xff0c;似乎陷入一个没有结果的等待。本文提供一种监测方法&#xff0c…

Leetcode-每日一题【剑指 Offer 10- I. 斐波那契数列】

题目 写一个函数&#xff0c;输入 n &#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;数列的第 n 项&#xff08;即 F(N)&#xff09;。斐波那契数列的定义如下&#xff1a; F(0) 0, F(1) 1 F(N) F(N - 1) F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开…

本地pycharm远程连接服务器运行自己的项目

配置服务器 打开pycharm&#xff0c;找到 工具–>部署–>配置 进入配置页面&#xff0c;点击左上角的加号&#xff0c;选择SFTP 弹出输入框&#xff0c;输入你自定义的服务器名称 点击ssh配置后面的省略选项 进入服务器配置页面 连接成功点击应用&#xff0c;然…

迅为全国产龙芯3A5000电脑运行统信UOS、银河麒麟、loongnix系统

iTOP-3A5000开发板采用全国产龙芯3A5000处理器&#xff0c;基于龙芯自主指令系统 (LoongArch) 的LA464微结构&#xff0c;并进一步提升频率&#xff0c;降低功耗&#xff0c;优化性能。在与龙芯3A4000处理器保持引脚兼容的基础上&#xff0c;频率提升至2.5GHZ&#xff0c;功耗降…

Nodejs实现读写文件和文件流

在Nodejs中&#xff0c;文件操作是非常常见的任务之一。它允许我们读取和写入文件&#xff0c;以及处理大型文件而不会消耗太多内存。本篇博文将会首先介绍一下文件和文件流的区别&#xff0c;然后全面介绍如何在Nodejs中实现文件操作和读写&#xff0c;包括使用文件系统模块&a…

echarts 图例组件legend配置

legend 图例组件展示不同系列的图表类型标记、颜色、和名称。可以通过点击来控制哪个系列不展示。对于饼图来说&#xff0c;控制哪个数据不展示。 $> echarts5.4.0简单画一个饼图作为示例,设置legend:{show:true}展示图例。 const options {legend: {show: true,},series…

WMS仓库管理系统研发规划说明

01 产品背景 1.1 背景概述 aboss WMS东南亚仓库管理系统是一个基于BigSeller系统的使用基础上&#xff0c;加上多仓库的解决思路&#xff0c;解决入库业务、出库业务、仓库调拨、库存调拨和虚仓管理等功能&#xff0c;对批次管理、物料对应、库存盘点、质检管理、虚仓管理和即…

Mac与windows传文件(超过4G且速度超快,非共享)

MAC与Windows文件互传 背景 尝试了网上的一些方法&#xff0c;诸如设置共享文件夹方法等&#xff0c;但是实际使用中感觉效果一般&#xff0c;对于一些小的文件共同编辑速度还可以。但是在备份或者传递一些较大文件或者很多细小文件的时候就有点捉襟见肘了。制作了一个MAC可读…

规划模型Matlab代码

文章目录 数学规划定义一般形式分类 1.线性规划(linear programming)2.非线性规划(nonlinear programming)3. 整数规划(integer programming)4. 0-1规划(0-1 programming)5. 最大最小化模型6. 多目标规划模型7.敏感性分析&#xff08;对权重&#xff09;[例题] 数学规划定义 数…