分布式知识总结(基本概念)

news2024/11/25 4:57:00

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/
在这里插入图片描述

基本概念

吞吐量

指系统在单位时间能够处理多少个请求

QPS

每秒查询次数,通常是对读操作的压测指标

TPS

每秒处理的事务数目,通常是对写操作的压测指标

RT

响应时间间隔,是指用户发起请求,到接收到请求的时间间隔

熔断

熔断机制,是指在分布式系统中,当某个下游服务出现超时、错误率过高或资源不足等过载现象时,上游服务会迅速切断对该下游服务的请求,以避免出现故障扩散的情况。

熔断机制可以保证整个系统的可用性,避免因一个服务的局部小规模故障,导致整个系统全局瘫痪的后果。

降级

服务降级,是指当系统出现高负载或异常时,通过牺牲部分非核心功能的方式,保证系统核心功能的可用性。

背压

背压思想,被请求方不会直接将请求端的流量直接丢掉,而是不断的反馈自己的处理能力。

请求端根据这些反馈,实时的调整自己的发送频率,比如:TCP/IP中使用滑动窗口来进行流量控制。

CAP原则

Consistency(一致性)

所有节点返回的数据是一致的。

Availability(可用性)

就是某个节点坏了,不能影响其他的节点业务。

如主MySQL节点挂了,但从MySQL没有挂,从MySQL照样提供服务。

Partition Tolerance(分区容错性)

当系统中有节点因网络原因无法通信时,系统依然可以继续运行。

如主MySQL和从MySQL之间没法通信时,系统可用。

分布式系统只能满足三种情况:CA、AP、CP

分布式系统肯定要实现P,那CA是理论上面的,其实不存在。

大型互联网公司,因为机器数量庞大,网络故障是常态,一般选择AP原则牺牲掉数据一致性

  • 一些金融产品对数据一致性要求很高的,就会选择CP。

Redis:AP

RocketMQ:AP

2PC:CP

Eureka:AP

BASE理论

BASE 理论是对 CAP 中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于 CAP 定理逐步演化而来的,它大大降低了对系统的要求。

核心思想: 即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性,也就是牺牲数据的一致性来满足系统的高可用性,系统中一部分数据的不可用或者不一致时,仍需要保持系统整体主要可用。

基本可用(Basically Available):

基本可用是指分布式系统在出现不可预知故障的时,允许损失部分可用性。

响应时间上的损失:

  • 正常情况下,一个在线搜索引擎需要在0.5秒之内返回给用户相应的查询结果,但由于出现故障,查询结果的响应时间增加了1~2秒;

系统功能上的损失:

  • 正常情况下,在一个电商网站上进行购物的时候,消费者几乎能够顺利完成每一笔订单,但是在一些节日大促购物高峰的时候,由于消费者的购物行为激增,为了保护购物系统的稳定性,部分消费者可能会被引导到一个降级页面;

软状态(Soft State):

软状态是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时;

最终一致性(Eventually Consistent):

最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。

因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。

集群和分布式的区别

集群主要的使用场景是为了分担请求的压力,也就是在几个服务器上部署相同的应用程序,来分担客户端请求。

将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事情。

分布式是指将多台服务器集中在一起,每台服务器都实现总体中的不同业务,做不同的事情。

  • 将一套系统拆分成不同子系统部署在不同服务器上。

IaaS、PaaS和SaaS

软件即服务(SaaS) :这是一个完整的软件应用程序,具有用户界面。

平台即服务(PaaS) :开发人员可以在其中部署自己的应用程序的平台。

基础设施即服务(IaaS) :提供机器、存储和网络资源,开发人员可以通过安装自己的操作系统、应用程序和支持资源来管理。

通俗易懂的解释:

SaaS:租的房子,只能住人和存放物品,不能修改房间的设施。

PaaS:买的精装修房,可以布置一些家电(如电视机、空调等等)、墙上挂一些装饰等等,俗称软装。

IaaS:买来的毛坯房,可以自己装修水电、安装柜子,家电等等,俗称硬装。

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

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

相关文章

【mars3d】加载pbf矢量瓦片的最佳方案介绍

矢量瓦片的目前最佳方案: 目前示例中提供了不同的矢量瓦片的加载方案 但是加载矢量瓦片pbf的最佳方案: 使用 TileServer GL 开源地图服务工具:https://github.com/maptiler/tileserver-gl , 它利用 MapLibre GL Native 进行服务…

day34——TCP和UDP的基础通信

一、网络通信之套接字 1.1 套接字通信原理 1.2 socket函数介绍 #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int socket(int domain, int type, int protocol);功能&#xff1a;为通信创建一个端点&#xff0c;并返回该端点的文件描述…

Llama 3.1中文微调数据集已上线,超大模型一键部署

7 月的 AI 圈真是卷完小模型卷大模型&#xff0c;精彩不停&#xff01;大多数同学都能体验 GPT-4o、Mistral-Nemo 这样的小模型&#xff0c;但 Llama-3.1-405B 和 Mistral-Large-2 这样的超大模型让很多小伙伴犯了难。 别担心&#xff01;hyper.ai 官网在教程板块为大家提供了…

从AGV到立库,物流自动化的更迭与未来

AGV叉车 随着柔性制造系统的广泛应用&#xff0c;小批量、多批次的生产需求不断增强&#xff0c;“订单导向”生产已经成为趋势。这也让越来越多的企业认识到&#xff0c;产线的智能设备导入只是第一步&#xff0c;要想达到生产效率的最优解&#xff0c;物流系统的再优化必须提…

【redis的大key问题】

在使用 Redis 的过程中&#xff0c;如果未能及时发现并处理 Big keys&#xff08;下文称为“大Key”&#xff09;&#xff0c;可能会导致服务性能下降、用户体验变差&#xff0c;甚至引发大面积故障。 本文将介绍大Key产生的原因、其可能引发的问题及如何快速找出大Key并将其优…

Z 字形遍历二叉树

假设一个二叉树上各结点的权值互不相同。 我们就可以通过其后序遍历和中序遍历来确定唯一二叉树。 请你输出该二叉树的 ZZ 字形遍历序列----也就是说&#xff0c;从根结点开始&#xff0c;逐层遍历&#xff0c;第一层从右到左遍历&#xff0c;第二层从左到右遍历&#xff0c;…

Linux文本处理shell脚本

文本处理 在进行文本处理时&#xff0c;我们有一些常见的需求&#xff1a; 获取文本的行数、字数比较两段文本的不同之处查看文本的开头几行和最后几行在文本中查找字符串在文本中替换字符串 下面介绍如何在 shell 中做到这些事情。 文本统计&#xff1a;wc wc 是文本统计…

了解经典的 MPLS L3VPN 网络架构

1.多协议标签交换技术MPLS的概念 MPLS&#xff08;Multi-Protocol Label Switching&#xff0c;多协议标签交换技术&#xff09;,传统网络中就拥有了 3 种经典转发实现&#xff0c;它们分别是&#xff1a; L2 交换转发L2.5 标签转发L3 路由转发 MPLS 协议则作用于 L2.5 层&…

大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

布隆过滤器将应用Redis缓存使用量降低100倍

文章目录 背景布隆过滤器介绍定义工作原理数据结构&#xff1a; Redis布隆过滤器实战总结 背景 由于在业务中用到了Redis用于存储一些关系信息&#xff0c;且对应的请求量比较大&#xff0c;为了防止缓存击穿导致数据库压力过大&#xff0c;一般我们都会采用将不存在的内容存储…

头狼择校小程序

综述介绍 头狼择校&#xff0c;是头狼择™高校的简称&#xff0c;我们专注高校、大学的择校。倡导先嗅就业再择校&#xff0c;是预约工具和对话平台。帮您嗅招办、嗅教授、嗅学姐&#xff0c;预约择校有关的老师、顾问&#xff0c;助力考大学和考研的“双考”学生及家长了解就…

C# OnnxRuntime部署LivePortrait实现快速、高质量的人像驱动视频生成

目录 效果 说明 项目 模型信息 代码 下载 效果 LivePortrait实现快速、高质量的人像驱动视频生成 说明 官网地址&#xff1a;https://github.com/KwaiVGI/LivePortrait 代码实现参考&#xff1a;https://github.com/hpc203/liveportrait-onnxrun 模型下载&#xff1a;…

【健康革命】让AI成为你的私人健身教练!

本文由 ChatMoney团队出品 现在市面上有很多男生和女生为了保持身材都进行疯狂的减肥&#xff0c;有些是靠吃减肥药来保持身材&#xff0c;有些是晚上不吃饭要控制&#xff0c;还有些疯狂且漫无目的健身&#xff1b;但往往以上几种都很伤身体的&#xff0c;毕竟身体健康是革命的…

历史库,成本与性能如何兼得?| OceanBase应用实践

随着数据量的迅猛增长&#xff0c;企业和组织在数据库管理方面遭遇的挑战愈发凸显。数据库性能逐渐下滑、存储成本节节攀升&#xff0c;以及数据运维复杂性的增加&#xff0c;这些挑战使得DBA和开发者在数据管理上面临更大的压力。 为了应对这些挑战&#xff0c;对数据生命周期…

简单的docker学习 第13章 CI/CD与Jenkins(下)

第13章 CI/CD 与 Jenkins 13.13 自由风格的 CI 操作(最终架构) 前面的架构存在的问题是&#xff0c;若有多个目标服务器都需要使用该镜像&#xff0c;那么每个目标服务器都需要在本地构建镜像&#xff0c;形成系统资源浪费。若能够在 Jenkins 中将镜像相撞构建好并推送到 Har…

Java属性重写问题

目录 属性重写 案例演示 多态练习 练习1 练习2 属性重写 ​​​​​​​ 属性没有重写之说&#xff0c;属性的值看编译类型。 instanceOf 比较操作符&#xff0c;用于判断对象的运行类型是否为某类型或者某类型的子类。 案例演示 父类base&#xff0c;有一个count属…

Collection和List集合

1.Collection集合 1.1数组和集合的区别【理解】 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 1.2集合类体系结构【理解】 …

旧手机拍摄的视频模糊可以修复清晰吗?

你是否时常“考古”一些老电影、老动漫来回忆旧日时光&#xff1f;你是否也有一些珍贵的录像&#xff0c;带你重温过去的美好&#xff1f;然而&#xff0c;我们已经习惯了高清体验&#xff0c;回头再看曾经的旧影像&#xff0c;画质或许“渣”的让人不忍直视。 旧手机像素不好&…

【论文笔记】Dual-Balancing for Multi-Task Learning

Abstract 多任务学习(Multi-task learning, MTL)中&#xff0c;任务平衡问题仍然是重要的挑战&#xff0c;损失、梯度尺度的不同&#xff0c;会导致性能的折中。 本文提出Dual-Balancing for Multi-Task Learning (DB-MTL)&#xff0c;从损失和梯度两个角度缓解任务均衡问题。…

成功解决:IDEA导入java项目 或 建包的时候com.不分开 【详细原理解释说明】

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 &#x1f393;擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号&#xff1a;热爱技术的小郑。回复 Java全套视频教程 或 前端全套视频…