浅谈分布式集群管理系统的一点原理

浅谈分布式集群管理系统 本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第11篇文章,我们一起来聊聊分布式集群资源管理。 在开始文章之前,我们先来问一个问题,为什么是国际上是亚马逊,国内是阿里这两家公司云计算搞得最好呢?这两家公司之间有一个巨大的共同点,就是它们都是电商公司。电商公司的特点很明显,就是流量不是固定的,往往会受到大促、节日的影响。像是国内的双十一和美国的黑色星期五就是典型的大... 阅读详情

本文始发于个人公众号:TechFlow,原创不易,求个关注


今天是分布式专题的第12篇文章,我们继续来看集群资源管理系统。

上一篇的文章当中我们简单了解了一下什么是分布式集群资源管理,它的诞生背景和解决的问题是什么,以及它大概有哪些优点和不足。上一章的内容比较表面,没有过多深入原理,这一篇文章我们一起来看看集群管理系统的原理部分。

对一篇文章有所遗忘,或者是最新关注的同学可以点击下方的传送门,回顾一下上篇的内容。

浅谈分布式集群资源管理系统原理


局部优先的原则


在大数据应用的场景下有一个基本的设计原则:我们通常是将计算分配到存储数据的节点执行,而不是从节点拿到需要的数据再来进行计算。这背后的原因很容易想通,因为这样可以尽量减少节点之间的网络通信,减少了数据传输。要知道大数据场景下的数据的规模是非常大的,动辄TB,PB,少则也有几百几十GB,一旦需要网络传输数据带来的开销是非常可观的。

我们把这个原理总结一下,可以称为”局部优先“原则,也就是说执行任务的节点越局部越好,如果在一台物理机当中就太完美了,因为这样可以避免所有的数据传输。

我们可以简单地根据这个原则来衡量一个集群调度系统的能力,我们根据局部性的情况可以简单地列出三种级别。第一种是节点局部性,也就是所有的计算都发生在一个节点当中,这样可以避免所有的数据传输,这也是最佳情况。第二种要差一些叫做机架局部性,也就是说所有的计算虽然不能保证在一个节点当中执行,但是至少可以保证这些执行的机器在同一个机架当中。在机架当中的机器可以通过内部的方式传输数据,而不必借助外部网络,这样的传输也要快得多。最差的情况就是节点分散在不同的机架,没有办法做任何加速,这种称为全局局部性,会带来大量的开销。

我们都知道一个好的集群调度系统要把集群当中所有机器的性能”压榨“到极致,但实际上固定的计算消耗的计算资源基本上是稳定的。除了机器的利用率之外,另一个关键点就是这个。而且有时候网络IO带来的开销可能比机器低使用率更可怕。


资源分配细节


关于资源分配可能我们直观理解上很简单,当有机器空闲的时候我们就分配给它任务,然后执行完了我们把资源收回,但是在实际的运用当中还存在很多细节需要我们精心设计和思考,一旦稍微有点没想清楚可能就会造成严重的后果。

我们来看两个问题,第一个问题是当我们当下新来了一个任务,但是没有足够资源的时候应该怎么办?

我们很容易想到有两种策略,第一种策略就是什么也不做,等。等到有任务结束了,资源释放出来了之后,我们再执行当前这个任务。但如果我们当前的任务是一个非常紧急的任务呢?有可能现在正在执行的任务优先级并不高,但是占用的资源又多又长,难道我们还要一直等下去吗?

所以我们会想到还有第二者策略,就是抢。既然我们当下的资源优先级高,正在执行的任务优先级低。我们可以先从优先级低的任务当中抢一部分资源过来,先把当下重要的任务执行了再说。等优先级高的任务执行了之后再去执行优先级低的。但是很遗憾,这么做是有问题的。技术上的问题我们先不谈,等会再说,有没有想过这么搞的话,还会有谁愿意把任务的优先级调低呢?肯定大家执行的任务都是最高优先级。到后来会发现所谓的优先级高低设置全部变成了摆设,正在运行的优先级都一样,都是最高优先级。

关于上面的问题还有后续,我们先放一放,来看另外一个问题,这个问题是上面这个问题的衍生品。不同的任务需要的资源不同,并且需要资源的情况也不相同。比如有些任务资源多少都可以运行,比如spark或者是MapReduce,资源多就多用几个机器,资源少就少用几个,但是不管多少都可以跑,无非是执行的时间长短不同。但是有些任务就不是如此,比如机器学习的任务,可能一次性需要大量的资源,并且就要这么多,少了就跑不了。那么问题来了,当我们新来了一个任务,当下资源不足以满足它分配需要的时候,我们是先留着不分配给它,等资源足够了一次性分配呢,还是先分配一点,后面拿到一点资源再继续分配呢?

你看,看起来平淡无奇的分配策略其实当中还是有很多棘手的细节。事实也的确如此,这也是为什么我之前说目前的集群资源管理系统还远远没有成熟才刚刚起步的原因,因为对于以上的问题都没有特别好的解决方案。


饿死与死锁


还记得上面的两个问题么,如果这两个问题没有回答好,那么就会出现饿死与死锁的情况。

饿死是指任务一直得不到调度,比如由于设置的优先级不合理。只有你一个老实孩子给自己觉得一个不太重要的任务设置了一个正常的优先级,而其他的老司机纷纷给自己的任务设置了最高优先级。由于一直有高优先级的任务被提交进来,所以你的任务被一直延后,你以为很快就能得到结果,可能到下班你的任务还没开始执行。在这种情况下,你要么同流合污,也把自己的任务设置成最高优先级,要么就只能一直等下去,或者因为完成的工作不够多而面临绩效以及老板的压力。

于是,这就从了一个简单的任务调度的问题上升到了内心价值观的考验,这也是一个经典的劣币驱逐良币的过程。由于少部分人的不遵守规则,导致反倒是遵守规则的人受到惩罚,想想真是男默女泪[狗头]。

死锁的情况比较容易理解,如果学过操作系统的同学应该很熟悉,原理是一样的。打个比方,如果我们当下有AB两个任务,这两个任务都需要集群2/3的资源才可以执行。由于这两个任务是差不多时间点提交的,而系统采取了先来先分配的原则,给这两个任务都分配了1/2的资源。那么这就会导致死锁,因为这两个任务没有一个能执行,也就没有一个任务会释放资源,所以除非人工kill掉一个,否则会一直如此持续下去。

从目前的情况来看,好像没有一个完美的方法可以完全避免这两种情况出现。只能架构师根据自己集群调用的实际情况进行决策,并且还要加入一些人工干预的因素,比如在团队当中约法三章制定一些规范和条例等等。也就是说,某种程度上来说这已经不只是一个系统的问题了,而是一个系统和团队协调的复杂问题。


调度器


下面我们来看看常见的调度器的架构,常见的调度器有三种,第一种是集中式调度器,第二种是两级调度器,最后一种是状态共享调度器。


集中式调度器

我们先来看集中式调度器,它最直观也最简单:

它的设计逻辑就是集中,整个系统当中只有一个全局的中央调度器。所有的框架或者是计算任务都由中央调度器来实现。有点像是封建时候的宗族制度,整个大家族当中所有的大事小事全部由一个人来管理。显然这样做的弊病非常多,刚才提到的两个问题都需要人工干预,否则很难解决。

后来在此基础上进行了改进,在整个中央调度器当中又加上了分支逻辑。这种调度器被称为多路径调度器:

整体而言变化不大,只是多了一个条件判断。也就是说内部实现了针对不同种类的任务执行不同的调度和分配策略。比如如果是小的碎片任务,那么执行优先级管理,先来先得策略。如果是大的机器学习任务,只有拿到完整资源才会执行,防止死锁等等。

相比于单路径集中调度而言,多路径集中调度增加了一些灵活性,但是整体的拓展性还是远远不够,并且并发能力也比较差,资源的利用率不够高,如果规模大了,调度性能很容易成为瓶颈。但是它胜在架构简单,容易维护。


两级调度器

由于集中式调度器有许多的问题,也不够灵活,我们为了增加它的灵活性,在此基础上又增加了一层结构:

我们同样有一个中央调度器来坐镇指挥,只不过中央调度器并不会直接调度任务,而是会以一种比较粗粒度的策略将集群当中的资源分配给框架调度器。具体调度、执行任务的逻辑在框架调度器当中。相比于中央调度器,框架调度器执行的策略会更加细粒度一些。

另外,只有中央调度器可以看到整个集群当中所有资源的情况,框架调度器只能看到自己分配到的那一部分资源。我们比较熟悉的YARN,Mesos都是采取的这种架构。

有了框架调度器之后,我们可以在不同的框架调度器当中执行不同的策略。有助于提升整个集群的并发能力,以及资源利用率。所以总体而言,两级式调度器的性能要比集中式调度器好得多。

但是即使是这样,也不是完美的。因为中央调度器在调度的时候执行的是一种悲观并发的策略。简单解释就是在执行分配的过程当中,中央调度器会严格按照事先制定的顺序,并且会对资源加锁来防止不同框架申请资源时导致的冲突。既然用到了悲观锁,显然也会影响整体的性能。


状态共享调度器

状态共享调度器的架构和两级调度器非常接近,可以简单理解成了去掉了中央调度器的结果:

这个架构最早出现在Google公司的Omega调度系统当中,Omega调度系统是现在非常火热的Kubernetes的前身。它和两级式调度器的最大的不同就是没有中央调度器,所有的框架调度器可以直接看到整个集群当中的所有资源。在需要使用资源的时候,由框架调度器之间互相竞争来获取。

并且和中央调度器不同的是,状态共享策略当中使用的是乐观锁。简单解释一下乐观锁和悲观锁的区别。悲观锁往往会假设最坏的情况,比如当下获取了资源之后,在使用结束之前有可能会有其他的线程来访问或者是修改,所以我们需要加上锁来避免这样的情况发生。

乐观锁则相反,基于乐观假设,也就是说系统是基于能够顺利运行不会有资源抢占的情况发生的前提进行的。也就是说先执行,执行之后如果发生了抢占或者其他问题,那么再来通过重试或者其他机制来解决。

即使在高并发场景当中,资源冲突也是一个相对来说的小概率时间。如果使用悲观锁显然会带来大量的加锁的开销,所以基于乐观锁的设计会使得系统的并发性能更强。但是这也是有代价的,乐观锁也不是完美的,如果真的发生了大量竞争冲突的情况,竞争失败的一方往往需要重试任务,这会带来很多不必要的开销,也会造成资源的浪费。

另外由于所有框架之间的抢占是自由的,也就是说有可能会出现高优先级的框架一直抢占资源,而低优先级的任务被饿死的情况发生。在这种机制下是没有办法保证任务之间的公平性的。这也是削弱中央调度器带来的必然后果。


总结


我们回顾一下以上三者策略,会发现这三者策略的演进顺序其实就是中央调度器被削弱的顺序。想想其实很容易理解,中央调度器强大可以维护整个集群的公平性,但是由于效率比较低,很有可能会成为整个集群的瓶颈。而中央调度器越弱,框架调度器的自由度越高,整个系统调度的灵活性越强,那么也就意味着系统的性能往往越好。

有人打了一个比方非常经典,集中式调度器有些像是计划经济。所有一切都由国家来规划,好处是可以保证公平,但是自由度和灵活性差,整个国家运转和发展都不够高效。两级调度器有些像是大政府小市场的混合模式,政府的干预力度还是很大,但是多了一点自由性。而状态共享器则是小政府大市场的自由竞争经济模式,政府的干预几乎没有了,变成了看不见的手,这样可以进一步提升灵活性和国家的运转效率。但是国家的干预少了,当风险降临的时候,也可能导致很大的问题。

某种程度上来说,和国家社会的制度没有完美无缺的一样,集群调度的策略目前来看也没有一个完美的,各有各的优势和特长,需要我们结合实际情况,寻找适合我们问题场景的最佳方案,这也是我们学习这些底层原理而不只是停留在如何使用上的原因。

今天的文章就是这些,如果觉得有所收获,请顺手点个关注或者转发吧,你们的举手之劳对我来说很重要。

在这里插入图片描述

浅谈ClickHouse数据分片和复制 本文详细介绍了ClickHouse中的数据分片和复制机制、如何配置和使用这些功能、如何配置ClickHouse集群、创建分布式表和处理故障转移。了解这些概念和操作有助于您充分利用ClickHouse的高可用性、负载均衡和水平扩展功能,从而满足实时分析和大数据处理的需求。 阅读详情

相关推荐

APM32F103 配置CAN

摘要: 本文介绍了基于APM32F103RCT6的CAN通信实现,包含GPIO初始化、CAN配置、数据收发功能。通过配置CAN1的GPIO引脚(PB8/PB9)和波特率(500Kbps),实现标准帧格式的数据传输。发送函数支持8字节数据包,接收函数通过FIFO0处理消息,并根据接收ID触发响应发送(如ID 0x1回复0x2)。代码还包含错误状态检测(如总线关闭处理)和过滤器配置(32位掩码模式)。整体实现了基础的CAN通信与错误管理功能。

weixin_43676660的博客 861

基于HPC场景的集群管理系统(slurm系统初相识)

LSF是一个比较主流的任务调度系统,包括深圳和苏州的超算中心都是使用的LSF系统,包括Spectrum LSF, PlatformLSF和OpenLava。我接触到的都是PlatformLSF。SGE则包括UGE和SGE,本来是开源的,但是被Oracle收购后就变成了闭源了。PBS则包括OpenPBS,PBS PRO 和Moab/TORQUE,可能由于比较老了吧,目前我没有见到了。

刘炫320的博客 4268

cellranger安装以及使用

接受cellranger count的输出数据,将同一组的不同测序样本的表达矩阵整合在一起,比如tumor组原来有4个样本,PBMC组有两个样本,现在可以使用aggr生成最后的tumor和PBMC两个矩阵,并且进行标准化去掉测序深度的影响。但是由于病毒基因组太小了,且注释结果只有CDS没有exon,所以曲线救国,将CDS整体替换为exon,也不进行过滤了,直接下一步。虽然安装完毕,但是现在要运行cellranger的话需要在终端输入cellranger的整个路径。自动执行这个命令,需要将“

m0_59974475的博客 9391

搭建kubernetes集群管理平台

一、 kubernetes和相关组件介绍 1、 kubernetes概述 Kubernetes是google开源的容器集群管理系统,基于docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩展等功能套件。基于容器的云平台 Kubernetes基于docker容器的云平台,简称k8s openstack基于kvm的容器云平台 2、 kubernetes架构设计图 3、 kub...

菜鸟、上路 4567

单细胞转录组聚类分析R包——SC3的应用

前言 在做单细胞相关聚类分析的过程中,为了研究异质性,发现了一种专门用于单细胞转录组的聚类分析R包——SC3(single cell consensus clustering,单细胞一致性聚类)。该聚类算法发表于Nature Methods(2017),能够让单细胞RNA-seq基于转录组特征对细胞类型进行定量表征。这是一种用户友好的无监督聚类工具,它通过一致方法将多个聚类解决方案组合在一起,从而得到高精度和鲁棒性的分群结果。SC3包的官方具体使用教程见:http://www.bioconductor.or

m0_51042606的博客 5004

FANUC机器人RSR与PNS功能深度解析及实战应用指南

本文深度解析了FANUC机器人RSR(远程程序启动)与PNS(程序号选择)两大核心功能。文章详细阐述了RSR的队列执行机制与PNS的二进制编码原理,提供了从硬件连接到参数配置的完整实战指南,并分享了混合使用策略与常见故障排除方法,旨在帮助工程师实现高效、稳定的生产线自动化程序调度。

neovim7hacker的博客 307

Kubernetes 可视化管理工具Kuboard V3

Kuboard是一款专为Kubernetes设计的免费管理界面,兼容Kubernetes版本1.13及以上。Kuboard每周发布一个beta版本,最长每月发布一个正式版本,经过两年的不断迭代和优化,已经具备多集群管理、权限管理、监控套件、日志套件等丰富的功能特点多种认证方式Kuboard可以使用内建用户库、gitlab/github单点登录或者LDAP用户库进行认证,避免管理员将ServiceAccount的Token分发给普通用户而造成的麻烦。...

因上努力,果上随缘。但行好事,莫问前程。 4248

在树莓派5(8G版)上运行Ollama + LLM

直接上结论,Ollama在树莓派上能安装,且本身运行起来毫无压力,但具体到大语言模型,Deepseek似乎不总是最佳选择。

ki1381的专栏 1648

集群管理系统slurm

集群管理系统slurm: 1,平行计算机粘合剂,用于执行并行作业 2,它使得并行计算就像pc一样简单实用 3,通常用来管理并行程序之间的通信slurm设计框架: 1,为集群提供简单的资源管理 2,通过插件完成功能强大的祖业调度器 3,由c语言编写,对管理员友好常用的操作组件: 资源管理器:通过使用集群来管理资源 1,节点 1),节点...

887

windows10下 iperf3测试带宽

客户端输入:"iperf3.exe -u -c 服务器IP地址 -b 5g" //客户端给服务器发送udp数据包,最大带宽为5g。客户端输入:“iperf3.exe -c 服务器IP地址 -P 10“//表示客户端10路并行给服务器发送TCP包;上图可知:带宽是15Gbps(这里不知道为什么下面测试的UDP会比这里TCP慢 按道理UDP不可能比TCP慢的5.)3. 验证是否下载成功,在打开的窗口中输入“iperf3.exe -v”,会出现安装的版本,表示安装成功了。5. iperf3参数。

xiaoqixiaoguai的博客 5888

cuRobo 入门教程(一)基于CUDA的机器人运动规划加速库

cuRobo是一款基于CUDA加速的机器人算法库,提供运动学计算、碰撞检测、轨迹优化等功能。该库采用并行优化技术,在GPU上实现高效运算,比现有方案快60倍。cuRobo支持多种机器人模型和环境表示,包含正向/逆向运动学、无碰撞轨迹生成、模型预测控制等核心算法,并可与IsaacSim等仿真平台集成。其特点包括:1) 支持多种碰撞检测方式(长方体/网格/深度图像);2) 提供批量环境处理和实时世界更新;3) 通过CUDA Graphs加速优化迭代;4) 在Jetson Orin等平台实现毫秒级运动规划。安装支

2506_90492529的博客 1924

Slurm集群管理系统

srun 有多种选项来指定资源要求,包括:最小和最大的节点数、处理器数、使用或不使用的特定节点,以及特定的节点特性(内存、磁盘空间、某些需要的功能等)。不同的节点的特性和硬件属性不同,设置分区可以帮助用户更好确定节点的特点,进而选择最适合自己的节点进行运算。例如,可以利用分配给作业的所有节点启动一个作业步骤,或者几个作业步骤可以相互独立的使用分配给作业的节点。分区可以被认为是作业队列,每个队列都有各种各样的约束,如作业大小限制、作业时间限制、允许使用的用户等。对于正在运行或排队的任务,可以使用。

long_1998的博客 1766

中科大大数据学院2023年保研夏令营机试题目【无offer,直接放题了~】(2023.07.22下午14:35-17:35考试)

给定一串数字,最后一个数是0表示结尾,表示数字串的终止,为无效数字。将该数字串存储在双向链表中,判断是否为回文串,若是,则输出Yes,否则输出No.

m0_51339444的博客 1921

浅谈分布式集群资源管理系统原理

一、引入 在开始文章之前,我们先来问一个问题,为什么是国际上是亚马逊,国内是阿里这两家公司云计算搞得最好呢?这两家公司之间有一个巨大的共同点,就是它们都是电商公司。电商公司的特点很明显,就是流量不是固定的,往往会受到大促、节日的影响。像是国内的双十一和美国的黑色星期五就是典型的大促。在大促的时候的流量会是平常的十倍甚至更多,这么大的流量必须要有更多的机器去应对。但问题是如果去买这么多机器,但是大促...

肉丸不肉 898

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

可用资源不足excel无法完成任务_浅谈分布式集群资源管理系统

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是分布式专题的第11篇文章,我们一起来聊聊分布式集群资源管理。在开始文章之前,我们先来问一个问题,为什么是国际上是亚马逊,国内是阿里这两家公司云计算搞得最好呢?这两家公司之间有一个巨大的共同点,就是它们都是电商公司。电商公司的特点很明显,就是流量不是固定的,往往会受到大促、节日的影响。像是国内的双十一和美国的黑色星期五就是典型的大促。在...

weixin_39945871的博客 429

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

浅谈分布式集群资源管理系统【二】

一、局部优先的原则 在大数据应用的场景下有一个基本的设计原则:我们通常是将计算分配到存储数据的节点执行,而不是从节点拿到需要的数据再来进行计算。这背后的原因很容易想通,因为这样可以尽量减少节点之间的网络通信,减少了数据传输。要知道大数据场景下的数据的规模是非常大的,动辄TB,PB,少则也有几百几十GB,一旦需要网络传输数据带来的开销是非常可观的。 我们把这个原理总结一下,可以称为**”局部优先“原...

肉丸不肉 1076

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

分布式集群与分布式事务浅谈

分布式、集群、分布式事务相信这几个关键词大家都已经听了无数遍,而这些又是现在互联网不得不提的话题。 那么什么是分布式?什么是集群?什么是分布式事务? 在传统的互联网中,我们通过一个系统业务和存储来完成所有业务。但随着互联网的快速发展传统的架构已经不能满足我们的需求,需要将业务进行拆分处理、或者分库分表来存储业务数据。这时就不得不提到分布式、集群、分布式事务。 分布式:简单来说就是将业务进行拆...

Amaranth007的博客 2663

可用资源不足excel无法完成任务_浅谈分布式资源管理系统

今天是分布式专题的第11篇文章,我们一起来聊聊分布式集群资源管理。在开始文章之前,我们先来问一个问题,为什么是国际上是亚马逊,国内是阿里这两家公司云计算搞得最好呢?这两家公司之间有一个巨大的共同点,就是它们都是电商公司。电商公司的特点很明显,就是流量不是固定的,往往会受到大促、节日的影响。像是国内的双十一和美国的黑色星期五就是典型的大促。在大促的时候的流量会是平常的十倍甚至更多,这么大的流量必须要...

weixin_39745013的博客 318

浅谈分布式任务调度平台

背景 分布式场景下,我们会对每个独立出来的服务进行集群,来提升服务的可用性,但集群环境下就会出现当前服务模块的定时任务重复进行的情况。 那么解决方案实际上有多种: 1.将定时任务提取出来,存放在后台管理系统 2.将定时任务单独部署成一个服务 3.将不同的服务部署不同的定时任务服务,用任务调度中心将其进行整合管理,也就是本文所说的分布式任务调度平台 原理 如图: 在分布式任务调度中心中(这里以XXL-JOB的架构图为例),分为两部分。 1.任务调度中心:即任务中心管理系统,处理所有的任务分发,执行

qq_43227967的博客 793

浅谈MapReduce的原理及编程

一、什么是MapReduce MapReduce是一个分布式计算框架; 它将大型数据操作作业分解为可以跨服务器集群并行执行的单个任务;适用于大规模数据处理场景;每个节点处理存储在该节点的数据;每个 job 包含Map和Reduce两部分 二、MapReduce的设计思想 1、分而治之 简化并行计算的编程模型 2、构建抽象模型 开发人员专注于实现 Mapper 和 Reduce 函数 3、隐藏系统层细节 开发人员专注于业务逻辑实现 MapReduce特点 1、优点 易于编程 可扩展性 高容错性

绿萝蔓蔓绕枝生 706

浅谈大型分布式Web系统的架构演进

前言 我们以 Java Web 为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 正文 阶段一、单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如Tomcat、Jetty、Jboss,然后直接使用JSP/Servlet技术,或者使用一些...

weixin_33704234的博客 194

浅谈性能测试监控系统,做好关键指标的监控

随着业务的增长,服务器部署由单一架构向分布式集群架构转变,性能测试过程中指标监控也由单一服务器向集群服务器转变。对于性能测试团队来说,需要建立起适用于测试的多机监控系统,以便后期顺利且高效地进行监控分析调优,从而保证整个测试过程的高可靠性。因此,小编本期为大家讲讲如何搭建性能测试监控系统,做好关键指标的监控。

测试界的彭于晏的博客 1133

浅谈Spring Cloud

Spring Boot和Spring Cloud的版本选择 查看SpringBoot对应的SpringCloud版本: https://start.spring.io/actuator/info​​​​​​ 如果选择SpringBoot2.2.0之前的版本,对应如图 关于Cloud各种组件的停更/升级/替换 微服务架构编码构建 注意点:约定>配置>编码 微服务模块构建主要有五步: 1、建modeule2、改POM...

weixin_49122825的博客 267

浅谈大型web系统架构(一)

目录 Web前端系统 负载均衡系统 数据库集群系统 缓存系统 分布式存储系统 分布式服务器管理系统 代码发布系统 动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。...

weixin_30795127的博客 83
上一篇: 高等数学——简单直观地了解定积分
下一篇: LeetCode48, 如何让矩阵原地旋转90度
TechFlow
博客等级 码龄7年 347粉丝 276原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值