云安全—分布式基础
0x00 前言
云必然是依赖于分布式技术来进行实现的,所以有必要学习和来了解分布式相关的内容
0x01 分布式计算
1.基本概述
分布式计算的定义:通过网络互联的计算机都具有一定的计算能力,他们之间互相传递数据,实现信息共享,协作共同完成一个处理任务
分布式计算的特点:
- 共享稀缺资源
- 负载均衡
分布式的主要特性就是节点分布,将计算量分配到网络中的不同计算节点上去,从而提高计算能力和加快效率。
2.分布式计算原理
分布式计算的关键步骤
2.1 设计分布式计算模型
首先需要规定分布式系统的计算模型,计算模型决定了系统中各个组件应该如何运行,组件之间如何进行消息通信,组件和节点应该如果管理。
常见的计算模型:
- MapReduce
- 数据流
- P2P
- RPC
- Agent
计算模型的内容展开又是一大堆需要学习的内容,在这里不进行展开,有兴趣可以自行研究,或者可以期待后续如果有深入学习需求也会同步更新。
2.2 分布式任务分配
分布式计算任务是需要进行分配分摊到各个节点上的,所以算法主要解决的事如何分配,怎么分配的问题。其实这里就是需要一个任务调度器,以及任务调度准备,类似于如何得到权重。
2.3 编写并执行分布式程序
使用特定的分布式计算框架与计算模型,将分布式算法转化为实现,并且保证高效,主要考虑的问题就是计算调度,多节点通信,所以可以说,算法是整个分布式系统的主要核心内容。
0x02 分布式计算的理论基础
1.ACID原则
ACID是数据库的四个原则:
- 原子性(Atomicity)
- 一致性(Consistency)
- 独立性(lsolation)
- 持久性(DuraBility)
1.1 原子性
原子性简单的理解就是,所有的内容,要嘛都成功,要嘛就都不成功。不存在某些成功,或者某些失败的结果,有一个失败就是都失败。
1.2 一致性
由一组值定义,数据库系统中的所有数据点都必须与这些值保持一致,才能正确读取和接受数据。
比如A+B=10,如果A变了的话,B也要跟随改变才可以
1.3 独立性
事务之间相互之间不会互相影响
1.4 持久性
一旦事物提交,并且处理了之后,数据就会永久保存。
1.5 特点
ACID的优势在于稳定,并且容易实现,但是只适合在单台服务器上进行操作,如果任务量以及节点量大起来的话就没有办法满足所有的特性,从而效率变得非常差。
2.CAP
2000年7月 加州大学伯克利分校的埃里克·布鲁尔(Eric Brewer)教授在ACM PODC会议上提出CAP猜想。
一个分布式系统只能同时满足一致性,可用性和分区容错性的其中两项
2.1 一致性
在更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致。
关系型数据库要求更新过的数据,后续的访问都能看到,强一致性
容忍后续部分访问不到,就是弱一致性。
经过一段时间能够访问到更新后的数据,实际上就是做了数据同步,那么这种就是最终一致性
2.2 可用性
这个和CIA类似,就是在正常的响应时间内,对于一个可用性的分布式系统,非故障节点需要对请求做出响应。
2.3 分区容错性
分布式系统再遇到某节点或者网络故障的时候,依然可以满足一致性和可用性的服务。
2.4 权衡
想要数据一致性,则就会舍弃可用性
想要强数据可用性,则就会舍弃数据一致性
分区容错则在使用者想要保障那个方面而住处努力
3.BASE
BASE是对CAP理论的延伸,核心思想是即使无法做到强一致性,但应用可以采用适合的方式达到一致性。
DBASE指代 可用性,软件状态(Soft State),最终一致性(Eventual Consistency)
3.1 基本可用性
出现故障的时候,允许损失部分可用性,保证核心可用。
3.2 软件状态
如那件状态指允许系统存在中间的状态,并且不会影响系统整体可用行。
3.3 最终一致性
在经过一段时间后,最终能够达到一致的状态,最终一致性可以理解为可能等待,但是最终的结果是一致性。
3.4 一致性散列
为了解决寻址问题,通过一致性散列将对象均匀的分布到节点上,在增加或者删除是,可以减少需要移动的数据量。
0x03 分布式系统概述
1.分布式系统的基础知识
具有分布式能力的系统
2.分布式系统的特性
- 容错性,节点可以出错,但是运行不会影响
- 高可扩展性,在运行过程中可以对内部节点进行功能扩展
- 开放性,具备自我扩展和集成
- 并发处理能力
- 透明性
3.Apache Hadoop
Apache Hadoop 是一个典型的分布式软件框架。
主要涉及:
- 存储
- 计算
- 资源调度
0x04 分布式系统的进阶
现代的分布式系统:
- 分布式存储系统
- 分布式计算系统
- 分布式资源系统
1.分布式存储系统
主要涉及5个方向:
- 结构化存储
- 非结构化存储
- 半结构化存储
- In-memory
- NewSQL
1.1 结构化存储
拥有结构化的数据,比如mysql等就是典型的结构化存储的数据库
1.2 非结构化存储
非结构化存储主要强调的是高可用性,比如分布式文件系统,这里其实很好理解就是没有结构的都可以归类为非结构化存储。
1.3 半结构化存储
这种模式下,最典型的就是Bigtable,也就是NoSQL,数据主要是通过key-value的方式进行存储。
1.4 In_memory
存储在内存中的数据,比如redis就是典型的存储在内存中的数据库
1.5 NewSQL
兼备RDBMS,并且拥有NoSQL的可扩展能力。Spanner
2.分布式计算系统
投入更多的机器数量,处理更大的数据
2.1 主要分布式计算分类
- 传统基于消息的系统,代表MPI
- MapReduce家族
- 图计算系统,把计算抽象成图及西宁处理
- 基于状态的系统,状态机
- 实时流处理系统
3. 分布式资源管理系统
这个就是分布式资源调度系统。
3.1 主要特点
- 支持多种计算框架
- 扩展性
- 容错率
- 高资源利用
- 细颗粒度的资源分配
3.2 典型案例
k8s是最典型的分布式资源管理系统。
0x05 典型的分布式系统
- 网格
- P2P
- 透明计算
- 区块链
相关文章:
云安全—分布式基础
0x00 前言 云必然是依赖于分布式技术来进行实现的,所以有必要学习和来了解分布式相关的内容 0x01 分布式计算 1.基本概述 分布式计算的定义:通过网络互联的计算机都具有一定的计算能力,他们之间互相传递数据,实现信息共享&…...
Spring(18) @Order注解介绍、使用、底层原理
目录 一、简介二、List 注入使用示例2.1 测试接口类2.2 测试接口实现类12.3 测试接口实现类22.4 启动类(测试)2.5 测试结果场景一:场景二: 三、CommandLineRunner 使用示例3.1 接口实现类13.2 接口实现类23.3 测试结果场景一&…...
目标检测YOLO实战应用案例100讲-基于改进YOLOv6的轧钢表面细小缺陷检测
目录 前言 存在的问题 轧钢缺陷图像特征分析 2.1单一类型缺陷 2.2面状缺陷...
leetcode:507. 完美数(python3解法)
难度:简单 对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。 给定一个 整数 n, 如果是完美数,返回 true;否则返回 false。 示例 1: 输入:num…...
智能物联网解决方案:蓝牙IOT主控模块打造高效监测和超低功耗
物联网蓝牙模块,无论单模,还是双模,或者双模音频的选择,如下文说描述: 蓝牙芯片模块市场的百花齐放,也带来的工程师在选型时碰到很大的困难,但是无论是做半成品,还是做成品…...
vue 拿到数据后,没有重新渲染视图,nuxt.js拿到数据后,没有重新渲染视图,强制更新视图
以下为Vue2的解决方案 一、 Vue.set() 问:什么情况下使用? 答:如果你向响应式数据添加新的“属性”,理论上,一般情况下是没问题的,但是,如果你的级别比较深,又…...
Docker基础操作命令演示
Docker中的常见命令,可以参考官方文档:https://docs.docker.com/engine/reference/commandline/cli/ 1、常见命令介绍 其中,比较常见的命令有: 命令说明文档地址docker pull拉取镜像docker pulldocker push推送镜像到DockerReg…...
XTU-OJ 1175-Change
题目描述 一个班有N个学生,每个学生有第一学期成绩Xi,第二学期成绩Yi,请问成绩上升,持平,下降的人数。 输入 每个样例的第一行是整数N(0≤N≤50),如果N0,表示输入结束,这个样例不需要处理。 第二行是N个整数…...
Python环境安装
环境安装 Windows安装Linux安装 Windows安装 下载最新版Python https://www.python.org/downloads 打开安装包 选择安装路径,安装 安装 验证安装是否成功,命令行输入python Linux安装 安装依赖环境 yum install wget zlib-devel bzip2-devel op…...
苏轼在密州的四首千古名作
苏轼,一个从诗歌王国掉落人间的落魄贵族,整个政治生涯几乎都以流浪为主,在古诗词世界或许只有李白与之最是相似,不过李白的流浪属于荡歌山水、云游四方,而苏轼的流浪则带有被动的成分:一纸贬黜公文就是苏轼…...
[计算机提升] 域及域用户(组)
1.3 域及域用户(组) 1.3.1 域的概念 在Windows操作系统中,域(Domain)是指一个或多个计算机或资源的集合,这些计算机或资源受到单个安全数据库(域控制器)的管理和控制。域可以包含多个计算机、用户、组和其…...
命令行配置文件
在说具体的配置方式之前,我们需要首先梳理清除几个概念。这有助于我们明白自己在做什么,以及如何把经验平移到其他方面。 和命令行相关的有几个概念:terminal(终端)、shell(解释器);…...
MPP产品介绍-定位-应用场景-技术特点
产品定位 FusionInsight LibrA是企业级的大规模并行处理关系型数据库。FusionInsight LibrA采用MPP(Massive Parallel Processing)架构,支持行存储与列存储,提供PB(Petabyte,2的50次方字节)级别数据量的处理能力。 FusionInsight LibrA在核…...
Linux性能优化--性能工具:磁盘I/O
6.0 概述 本章介绍的性能工具能帮助你评估磁盘I/O子系统的使用情况。这些工具可以展示哪些磁盘或分区已被使用,每个磁盘处理了多少I/O,发给这些磁盘的I/O请求要等多久才被处理。 阅读本章后,你将能够: 确定系统内磁盘I/O的总量和类型(读/写…...
Archive Team: The Twitter Stream Grab
该集合不再更新,应被视为静态数据集。 从一般 Twitter 流中抓取的 JSON 的简单集合,用于研究、历史、测试和记忆的目的。这是“Spritzer”版本,最轻、最浅的 Twitter 抓取。不幸的是,我们目前无法访问流的洒水器或花园软管版本。 …...
Vue-props配置功能
Vue-props配置功能 props概述 功能:接收从其他组件传过来的数据,将数据从静态转为动态注意: 同一层组件不能使用props,必须是父组件传子组件的形式。父组件传数据,子组件接收数据。不能什么数据都接收,可…...
iMazing 3中文版功能介绍免费下载安装教程
iMazing 3中文版免费下载是一款兼容Win和Mac的iOS设备管理软件。iMazing 3能够将音乐、文件、消息和应用等数据从任何 iPhone、iPad 或 iPod 传输到 Mac 或 PC 上。 使用iMazing 3独特的 iOS 备份功能保证数据安全:设定自动无线备份时间并支持快照;将备份保存到外接驱动器和网…...
给课题组师弟师妹的开荒手册(终篇)
0 写在前面 终于,在结束收尾工作后敲下了开荒手册的终篇,自己三年研究生生活过的离理想中的完美还差很多,不过胜在完整,哈哈,小满胜万全嘛。希望以自己不太完美的经历为例,抛我的砖,引师弟师妹…...
【Eclipse】安装与卸载教程
目录 1.绿色版免安装版本 2.安装版本 3.卸载 首先打开官网:Eclipse Downloads | The Eclipse Foundation 选择download package 如图所示,到如下界面 1.绿色版免安装版本 按图片点击,即可开始下载 下载好后解压 ,在桌面创建…...
WordPress还是Shopify?如何选择最适合您业务的网站建设平台?
在当今数字化世界中,创建一个强大的在线存在对于任何业务来说都至关重要。然而,对于不熟悉编码或网站建设的人来说,选择合适的网站建设平台可能是一项挑战。在这个领域,两个主要的选项备受关注:WordPress和Shopify。让…...
Java Kids-百倍提速【Mac IOS】
引言:当今社会,创新和提升效率已经成为了大家普遍的追求。无论是个人生活还是企业经营,我们都希望能够以更高的效率完成任务,节省时间和资源。因此,提速成为了一种时代的要求,而"Java Kids 百倍提速&q…...
uniapp-vue3-微信小程序-按钮组wo-btn-group
采用uniapp-vue3实现, 是一款支持高度自定义的按钮组组件,支持H5、微信小程序(其他小程序未测试过,可自行尝试) 可到插件市场下载尝试: https://ext.dcloud.net.cn/plugin?id15012 使用示例 <template><vie…...
mysql查询当天,近一周,近一个月,近一年的数据
1.mysql查询当天的数据 select * from table where to_days(时间字段) to_days(now()); 2.mysql查询昨天的数据 select * from table where to_days(now( ) ) - to_days( 时间字段名) 1 3.mysql查询近一周的数据 SELECT * FROM table WHERE date(时间字段) > DATE_SU…...
Python快速入门教程
文章目录: 一:软件环境安装 1.软件环境 2.运行第一个程序 二:语法基础 1.注释 2.变量 3.数学运算 4.数据类型 5.数据输入input 6.逻辑运算 7.程序控制结构 7.1 if选择 7.1.1 条件语句if else 7.1.2 嵌套语句 7.1.3 多条件判断…...
注释的重要性:代码的明晰之道
注释是程序员在编写代码时常常遇到的问题。有人声称不写注释就是在耍流氓,这引发了广泛的讨论。本文将探讨注释的重要性以及它对于代码的可读性和维护性的影响,同时提供一些关于如何写好注释的建议。 在软件开发领域,写代码不仅仅是为了满足功…...
将 vue2+ElementU 项目打包成安卓app
目标:将vue项目打包成安卓app 工具:HbuilderX 1.在HbuilderX中创建一个 5App 项目 创建好的app项目目录 2.将vue项目打包 2.1 在 vue.config.js 中添加公共路径(解决打包后的app图片不显示问题) module.exports defineConfig(…...
sop作业指导书怎么做?sop标准作业指导书用什么软件做?
自标准作业程序sop这个概念引入市场以来,现代生产企业纷纷开始打造自己的标准作业程序sop,然而在这个过程中,因为缺乏经验或者缺少相应的技术人员,导致遇到重重困难,其中最重要的一环sop作业指导书怎么做就难倒了不少企…...
计算机网络 | 应用层
计算机网络 | 应用层 计算机网络 | 应用层应用层概述网络应用模型客户/服务器模型(Client/Server,C/S)P2P模型(Peer-to-Peer) 域名系统(DNS) 参考视频:王道计算机考研 计算机网络 参…...
IP地址定位技术对企业的影响有哪些?
IP地址定位技术是一种用于确定互联网用户地理位置的技术,它将IP地址映射到具体的地理坐标。这项技术对于多个领域具有重要性,具有广泛的影响,包括以下几个方面: 1. 改善广告和市场营销:IP地址定位技术使广告商能够更精…...
【SA8295P 源码分析 (一)】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE
【SA8295P 源码分析】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE 一、QNX 侧创建 img 镜像二、QNX 侧指定只编译某一个版本三、Android定制修改selinux权限,user版本采用enforcing,userdebug版本permissive系列文章汇总见:《【SA8295P 源码分析 (一)】系统部分 文章链接…...
dw网页设计案例/seo主要是指优化
上篇文章朋友的评论给了我很大的动力写这个系列的文章,看来大家都比较关注这个系列。为了后续文章做一个铺垫,我在这篇文章的前半部分讲解一下BlogEngine.Net的整体架构,后半部分主要是对于BusinessBase类的分析。下载源代码以后打开解决方案…...
资阳的网站建设/seo的目的是什么
参考资料: 基于Qt的P2P局域网聊天及文件传送软件设计 http://bbs.csdn.net/topics/390386771 分享qtffmpegsdl播放视频。 ffmpeg各种项目 https://trac.ffmpeg.org/wiki/Projects http://blog.sina.com.cn/s/blog_554f7c9501015vqx.html 用qt开发ffmpeg应用gui。…...
济南百姓网免费发布信息网/惠州seo建站
2019独角兽企业重金招聘Python工程师标准>>> 公司的boss项目,我已经在上面搭建了一个quartz,通过查询数据库的定时任务。目前是能满足需求,但是随着功能的增多,这个会慢慢满足不了需求,虽然可以通过集群的方…...
佛山企业网站建设服务/seo关键词优化排名哪家好
小学信息技术四年级下册试题小学信息技术四年级下册试题一、填空:1、ACDSee 8.0窗口主要由工具栏、 、 、 、预览区和 等部分组成。2、ACDSee 8.0通过 ,找到存放图片的目标文件夹,在显示区可以改变 …...
网络营销是啥意思/seo案例模板
仅作为记录,大佬请跳过。 是行间距的问题 解决 段落——行间距的固定值改为单倍行距。即可 参考 传送门...
做网站需要注意哪些/武汉seo管理
{var gggmodeler.compObj(array1[i],array2[i]);if(!ggg){return false;}}}else{return false;}}else{throw new Error("argunment is error ;");}return true;};modeler.compObjfunction(obj1,obj2)//比较两个对象是否相等,不包含原形上的属性计较{if((o…...