云原生从字面意思上来看可以分成云和原生两个部分。云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,PaaS和SaaS。原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性和分布式优势。那具体要怎么利用呢,请参考下图: 1、微服务微...

1、PaaS是什么?云计算中讨论的服务包括:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)三个层次的服务。平台即服务(PaaS)是云计算的重要组成部分,提供运算平台与解决方案服务。2、PaaS与IaaS的区别IaaS指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。基础...

1、IaaS是什么?IaaS(Infrastructure as a Service),即基础设施即服务。IaaS指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。在这种服务模型中,普通用户不用自己构建一个数据中心等硬件设施,而是通过租用的方式,利用Internet从IaaS服务提供商获得计算机基...

1、CAP理论是什么?CAP定理,又称CAP原则,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP定理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。 2、CAP理论为什么不能同时满足?2000年的时候,加州大学伯克利分校的光头教授...

2000年的时候,加州大学伯克利分校的光头教授Eric Brewer提出了CAP猜想:CAP永远不可能同时满足,提高其中任意两者的同时,必然要牺牲第三者。这个定理告诉大家,不要再浪费时间去研究如何兼顾了,因为这根本就是不可能的,只能根据具体应用,来决定如何在三者之间进行取舍。 后来,CAP猜想由麻省理工学院的两位科学家证明。CAP猜想的证明相对比...

备注1:本系列内容由站长北侠撰写,内容来源于论文以及网上他人精品内容的参考,再此表示感谢!除此以外,站长北侠增加了很多个人的理解和思考,并在必有地方给以醒目提示,方便大家的阅读。好的架构是修改出来的,好的内容也是修改出来的,所以本系列内容不会写完了事,而是会不断地修订,提醒各位读者记得收藏和回访。一个人的理解角度总是有限的,欢迎更多的人提出自己的想法,...

BASE原则BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,含义如下所示:基本可用:保证数据的可用性。任何请求都会有响应(也可能是失败)。软状态:软状态和硬状态相对,是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的...

今年我决定将之前写的一本Shell读物 -《趣谈Shell》升级为『趣味Shell』APP。虽然名字存在一字之差,可是对应的事物却是差别非常大。1、《趣谈Shell》发展简介曾经我在网易搞大数据的时候,深深体会到Shell的难学记不住,后来特意换了一个角度去思考和学习Shell,从而诞生了《趣谈Shell》。在某些所谓的专业人士的眼里,对《趣谈Shel...

1、Raft算法Raft算法是目前分布式系统领域中非常著名的解决多副本一致性问题的共识算法,它的出现就是为了解决 Paxos 难以理解和和难以实现的问题,正如其论文的题目所述:In Search of an Understandable Consensus Algorithm。Raft本意是木筏,几根原木捆扎在一起便是木筏。寓意着集群管理的简单和便捷。...

在很长一段时间,Paxos被认为是解决分布式系统一致性的行业标准,但是Paxos难于理解,更难以实现。而Raft协议设计的初衷就是容易理解,保证普遍的人群都可以十分容易的去理解。另外,Raft协议能够让人形成直观的认识,这样系统的构建者才能够在现实中进行必然的扩展。总之,Raft协议是用来解决分布式系统一致性问题的协议。节点的状态Raft协议描述的节点...

备注:本文修订于2021年5月23日Kafka 2.8 新特征介绍kafka官方发布了最新版本:kafka 2.8,发布时间是:2021年4月19日。kafka 2.8 最大的特点是:移除了对zookeeper的依赖,见官网介绍:Early access of replace ZooKeeper with a self-managed quorum正式...

在正则表达式的基本语法中,有如下规定:. 匹配除换行符(\n、\r)之外的任何单个字符。要匹配包括 'n' 在内的任何字符,请使用像"(.|\n)"的模式。* 匹配前面的子表达式零次或多次。例如,zo 能匹配 "z" 以及 "zoo"。 等价于{0,}。? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 。...

在安装软件的时候,我们总是碰到疑惑:为什么64位软件包总是称为amd64而不是intel64呢?如下所示的两款软件(Python的第三方库文件):TA_Lib-0.4.19-cp37-cp37m-win32.whlTA_Lib-0.4.19-cp37-cp37m-win_amd64.whl你能分清楚那个对应32位机子,那个对应64位机子吗?此时很多人可...

Flink SQL 背景Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言。Flink SQL 是面向用户的 API 层,在我们传统的流式计算领域,比如 Storm、Spark Streaming 都会提供一些 Function 或者 Datastream API,用户通过 ...

在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据都到了才开始处理。虽然Flink可以做到每来一个消息就处理一次,但是更多时候我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户访问了我们的网页,所以Flink引入了窗口(Window)概念。窗口将一个无限数据流拆分成有限的数据集合(在Flink中简称为“桶”),并使得我们很方便地在上...

XPath使用路径表达式来选取XML文档中的节点或节点集。1、常用的路径表达式下面列出了最有用的路径表达式: 路径 描述 nodename 选取此节点,以及其包括的所有子节点。 / 从根节点选取。 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 . 选取当前节点。 .. 选取当前节点的父节点。 ...

Flink和Spark对比Flink是标准的实时处理引擎,基于事件驱动。而Spark Streaming是微批(Micro-Batch)的模型。Flink的时间延迟是毫秒级别,而Spark则是秒级别的。虽然在Spark2.3版中引入了一个持续流处理模型,将流处理延迟降至毫秒级。但是现在只支持很有限的功能,并不能在大的项目中使用。Flink天生就是为流计...

UC Berkeley 全称是:University of California, Berkeley,加利福尼亚大学伯克利分校,简称伯克利。AMPLab是旗下的大数据实验室,AMP的缩写代表着"Algorithms, Machines, and People"。1、AMPLab 诞生背景在大数据的背景下,我们对这个世界的理解越发的变成了理解数据,并将数...

flink 水印作用:告知窗口,数据集合完毕,可以启动计算。由于消息可能是乱序的,所以flink操作符无法直接确认何时所有属于该时间窗口的消息全部流入此操作符,从而无法执行计算过程。这个问题可以通过WaterMark机制来解决。Flink的数据源在确认所有小于某个时间戳的消息都已输出到Flink流处理系统后,会生成一个包含该时间戳的WaterMark,...

flink水印触发窗口的机制水印(watermark)就是一个时间戳 ,Flink可以给数据流添加水印,可以理解为:收到一条消息后,额外给这个消息添加了一个时间字段,这就是添加水印。水印并不会影响原有Event Time。一般会设置水印时间比Event Time小几秒钟。当接收到的消息一直到水印时间 >= 窗口的 endTime ,则触发计算。