第3章 高可用负载均衡集群规划

news2025/1/22 13:11:51

作者:田逸(formyz)

开篇之初,先举几个反例,来说明事前规划的重要性。

案例一:某广告媒体公司,需要部署一套媒体播放系统,由一台应用服务器和一台数据库服务器组成,让人没想到的是,为了这两台服务器,花了几十万采购了一台网络端口超过96个的三层核心交换机。询问相关人员,这样配备是基于什么考虑?答“背板带宽大,速度快”。作者一脸愕然,是钱多怕花不掉,还是被供货商给左右了,不得而知。

案例二:某顶级地产商的官方网站,40几台物理服务器承载Web服务,每两台服务器运行相同的站点,前端部署一对物理负载均衡服务器,数据库为单机Oracle 10,整体架构图如图3-1所示。。看似要消灭单点故障,也舍得花钱,但不知道是什么机构规划这么一个半拉子高可用系统。要来了项目文档,落款为“某某律师事务所”。

图3- 1

案例三:某顶级出版机构直属培训机构,上马一个在线教育平台,委托某知名外包公司进行规划、开发、部署。作者作为甲方的系统顾问,曾参与旁听外包方的方案讨论。系统单个电子教室同时支持10000人在线,根据课程数量,开启同等数量的电子教室,如果有10个科目,10个电子教室,同时在线最大人数10万。采用负载均衡集群架构,客户端与服务器端通过UDP协议通讯,无缓存,要求视频高清。作为列席者,没有发言权,心中琢磨,数万人同时在线,不采取P2P之类的技术,光BGP带宽资费,都可能让委托方很快破产。虽然采购了一堆服务器、网络设备,并租赁机柜将服务器进行托管,但项目最终却无法实施,彻底烂尾。

因此,合理的规划,对于项目的实施、成本的支出、后期的维护,具有巨大的、正向的支撑作用。

3.1 系统规划的目标

可用性:对外提供服务的系统,应该保持较高的可使用性、可访问性,对于重要的、核心的业务系统,设计更高可用性的系统。不能像某些机构的系统,人员下班系统也跟着下班,或者访问量徒增,系统就罢工。

 

技术可行性:可用现有的主流的系统或工具进行技术实现。像本章开篇“案例三”所规划的方案,以UDP协议做负载均衡、终端用户直接访问而不用P2P或CDN(内容分发网络Content Distribute Network)来做中间层,在技术上根本无法实现。

可扩展性:系统的访问量可能因某些原因(比如加强推广)急剧暴增,可在不停服务,不改变现有架构的情况下,在线扩展系统容量。反之,在访问量长期大幅度降低时,也要求能不停服务缩减容量。

高性价比:用较低的成本、较低的配置,通过技术手段,压榨设备,让其发挥出最高的性能。例如,用廉价的服务器做负载均衡器、做缓存服务(CDN),对于需要性能的应用比如数据库则采用高配服务器。

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

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

相关文章

考研二战上岸上海交通大学电院(819)

笔者来自通信考研小马哥23上交819全程班学员 此文记录过去两年的考研经历以及介绍个人考研经验。方法不一定适合所有人,每个人都有适合自己的学习方式,这篇帖子我可能写的比较长也说的比较具体(啰嗦),大概8000多字&am…

Qt Style Sheets Examples整理

文章目录 样式表用法使用动态属性自定义使用Box模型自定义QPushButton自定义QPushButton的菜单指示子控件复杂选择器完整代码: 特定部件样式表QAbstractScrollAreaQCheckBoxQComboBoxQDockWidget 原文地址:https://doc.qt.io/qt-6/stylesheet-examples.h…

Golang 泛型介绍

泛型介绍 泛型是一种编写独立于所使用的特定类型的代码的方法。现在可以编写函数和类型(Functions and types)来使用一组类型中的任何一种。 泛型为语言添加了三个重要的东西: 1 函数和类型的类型参数。2 将接口类型定义为类型集,包括没有方法的类型。3 类型推断…

五项热门技术领域和应用场景

介绍五种当下比较热门的技术,分别是人工智能、云计算、数据分析、微服务和区块链。每种技术都有自己的定义、子领域、应用场景和学习难度。这些技术都有着广阔的发展前景和市场需求,对于想要从事或了解这些领域的人来说,都是很有价值的知识。…

【react 全家桶】初始化脚手架

本人大二学生一枚&#xff0c;热爱前端&#xff0c;欢迎来交流学习哦&#xff0c;一起来学习吧。 <专栏推荐> &#x1f525;&#xff1a;js专栏 &#x1f525;&#xff1a;vue专栏 &#x1f525;&#xff1a;react专栏 文章目录 10 【初始化脚手架】1.什么是 React 脚…

时序数据的内存服务

说明 既要坚定锻炼成熟架构的道路&#xff0c;也要在合理的范围内重塑设计 计算时序数据的特征&#xff0c;少不了“Rolling”类的操作。过去&#xff0c;直接采用pandas进行rolling&#xff0c;效率很不错&#xff0c;但是在实战应用时不太行。 反思下来&#xff1a;离线的操…

Linux --- 软件安装、项目部署

一、软件安装 1.1、软件安装方式 在Linux系统中&#xff0c;安装软件的方式主要有四种&#xff0c;这四种安装方式的特点如下&#xff1a; 1.2、安装JDK 上述我们介绍了Linux系统软件安装的四种形式&#xff0c;接下来我们就通过第一种(二进制发布包)形式来安装 JDK。 JDK…

文案优化技巧,批量文案改写工具

在当今竞争激烈的市场中&#xff0c;一篇优秀的文案可以吸引更多的潜在客户&#xff0c;提高转化率&#xff0c;带来更多的收益。然而&#xff0c;写出优秀的文案有时是一项具有挑战性的任务。许多人不得不花费大量的时间和精力来编辑和重写它们&#xff0c;这不仅耗时费力&…

具有柔性结构的孤岛直流微电网的分级控制(Malab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;⛳️⛳️⛳️ 目录 1 概述 2 数学…

PICO 4 Pro:加入眼动和面部追踪,VR体验乐趣加倍

VR产品的体验在最近几年得到长足的进展&#xff0c;其中有几个重要的关键点。2019-2020年&#xff0c;VR一体机超越PC VR成为主流&#xff0c;便携性和综合体验做到了极佳的均衡。到了2022年&#xff0c;Pancake光学、彩色VST透视、眼动追踪、面部追踪等技术开始落地&#xff0…

MB510 3BSE002540R1在机器视觉工业领域最基本的应用

​ MB510 3BSE002540R1在机器视觉工业领域最基本的应用 大家都说人类感知外界信息的80%是通过眼睛获得的&#xff0c;图像包含的信息量是最巨大的。那么机器视觉技术的出现&#xff0c;就是为机器设备安上了感知外界的眼睛&#xff0c;使机器具有像人一样的视觉功能&#xff0c…

京东淘宝天猫户外服饰行业数据分析(电商数据查询软件)

户外运动越来越火&#xff0c;甚至还形成了一种独有的穿衣风格——“户外穿搭风”。 冲锋衣、工装裤、工装裙、口袋马甲、渔夫帽等都是这两年在这种户外穿搭风潮席卷之下爆红的产物。无论是在京东还是淘宝天猫&#xff0c;这类服饰的销售表现都比较出色。 京东数据&#xff1a;…

Spark大数据处理学习笔记(3.1)掌握RDD的创建

该文章主要为完成实训任务&#xff0c;详细实现过程及结果见【http://t.csdn.cn/oT0of】 文章目录 一、准备工作1.1 准备文件1.1.1 准备本地系统文件1.1.2 启动HDFS服务1.1.3 上传文件到HDFS 1.2 启动Spark Shell1.2.1 启动Spark服务1.2.2 启动Spark Shell 二、创建RDD2.1 通过…

Java语言背景介绍 及 语言跨平台原理

01_Java语言背景介绍 Java语言的三个版本&#xff1a; ●Java SE ● Java ME ●Java EE Java SE&#xff1a; Java语言的&#xff08;标准版&#xff09;&#xff0c;用于桌面应用的开发&#xff0c;是其他两个版本的基础。 桌面应用&#xff1a;GUI程序&#xff0c;是采…

科普丨关于 A/B 测试的十问十答

你想知道的&#xff0c;都在这里&#xff01;本文是神策数据「十问十答」科普系列文章的第二期&#xff0c;围绕 A/B 测试展开。 1 Q&#xff1a;什么是 A/B 测试&#xff1f; A&#xff1a;A/B 测试作为互联网企业的核心增长手段之一&#xff0c;其价值已在实际应用中被多次验…

ERTEC200P-2 PROFINET设备完全开发手册(6-2)

6.2 诊断与报警实验 首先确认固件为 App1_STANDARD, 将宏定义改为&#xff1a; #define EXAMPL_DEV_CONFIG_VERSION 1 参照第6节的内容&#xff0c;编译和调试固件&#xff0c;并在TIA Portal 中建立RT项目。启动固件后&#xff0c;TIA Portal 切换到在线&#xff0c;可以看…

springboot+vue人职匹配推荐系统(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的人职匹配推荐系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 目前有各类成品java毕设&#xff0c;需要请看文…

《离散数学导学》精炼——第9章(函数)

学习是一个长久而艰苦的过程&#xff0c;但不学习则更艰苦。 文章目录 引言正文函数的定义全函数覆盖运算函数的性质&#xff08;重点&#xff09;单射满射双射 递归函数良定义 引言 笔者一直觉得在计算机这一学科的学习中&#xff0c;离散数学是极为重要的知识基础。离散化的…

node中模块化

目录 模块化概念模块化规范Node.js 中模块的分类加载模块 模块作用域module对象module.exports 对象exports 对象 Node.js中的模块化规范 模块化概念 模块化是指解决一个复杂问题时&#xff0c;自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说&#xff0c;模块是可…

SpringBoot的Filter过滤器结合JWT实现登录验证

概念&#xff1a;Filter 过滤器&#xff0c;是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求拦截下来&#xff0c;从而实现一些特殊的功能。 过滤器一般完成一些通用的操作&#xff0c;比如&#xff1a;登录校验、统一编码处理、敏感字符处理等…