![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BigData
文章平均质量分 95
阿飞算法
这个作者很懒,什么都没留下…
展开
-
Elasticsearch核心原理之集群与分片
集群空集群启动一个单独的节点,里面不包含任何的数据和索引,集群看起来就是一个上图一样的包含空内容节点的集群。一个运行中的 Elasticsearch 实例称为一个节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。当一个节点被选举成为主节点时, 它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。 而主节点并不需要涉及到文档级别的变更和搜索等原创 2022-04-30 09:14:18 · 1986 阅读 · 0 评论 -
图解高并发限流
图解高并发限流背景在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流缓存:缓存的目的是提升系统访问速度和增大系统处理容量降级:降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行限流:限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理我们经常在调别人的接口的时候会发现有限制,比如微信公众平台接口、高等API等等,对方会限原创 2021-09-15 09:49:18 · 186 阅读 · 0 评论 -
图解分布式搜索引擎ElasticSearch
图解分布式搜索引擎ElasticSearch1.基础概念index:索引一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,可以定义任意多的索引。type:类型在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,原创 2021-08-20 07:14:06 · 626 阅读 · 0 评论 -
分布式事务介绍
分布式事务介绍基本事务的特性ACID原子性(Atomicity):要么全部完成,要么全部失败一致性(Consistency):事务开始和完成时,数据必须保持一致的状态,数据库的完整性约束没有被破坏。比如A给B转账,不论转账事务是否成功,两者存款的总额不变隔离性(Isolation):多个事务并发访问时,事务之间是隔离的,一个事务不能影响到其他事务的结果 ,不能看到其他事务运行时中间某个时刻的数据。持久性(Durability):事务完成后,该事务对数据库所作的更改便持久地保存在数原创 2021-08-11 10:03:35 · 240 阅读 · 0 评论 -
分布式一致性算法Paxos初探
分布式一致性算法Paxos初探背景Paxos算法是Leslie Lamport于1990年提出的一种基于消息传递且具有高度容错特性的共识(consensus)算法。需要注意的是,Paxos常被误称为「一致性算法」。但是「一致性(consistency)」”和“「共识(consensus)」”并不是同一个概念。Paxos是一个「共识(consensus)算法」。Paxos由Lamport于1998年在《The Part-Time Parliament》论文中首次公开,最初的描述使用希腊的一个小岛Pax原创 2021-08-09 20:45:51 · 273 阅读 · 0 评论 -
分布式系统CAP理论初探
背景CAP定理(CAP theorem)又被称作布鲁尔定理(Brewer’s theorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在2000年的ACM PODC上提出的一个猜想。2002年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了布鲁尔猜想的证明,使之成为分布式计算领域公认的一个定理。对于设计分布式系统的架构师来说,CAP是必须掌握的理论。概念Consistency(一致性)where all no原创 2021-08-03 08:58:59 · 293 阅读 · 0 评论 -
深入理解Kafka(一)之基础概念
简介Kafka是用scala语言编写,最初由Linkedin公司开发,后贡献给了Apache基金会并成为顶级开源项目。是一个分布式、支持分区的(partition)、多副本的(replication),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等。Kafka是一个类JMS消息队列,结合了JMS中的两种模式,可以有原创 2021-04-01 09:45:22 · 386 阅读 · 0 评论 -
深入理解Kafka(二)之消息可靠性与一致性
如何保证消息发布的可靠性消息的不丢失对于消息队列来说至关重要。但要实现这一点也是非常困难,极端考虑甚至是不可能的,因为机器一定可能会挂,磁盘一定可能会坏,只是看能够承受多大的规模故障罢了。消息不丢失主要指:如果发送失败,发送方要能够知道这个消息,方便它进行重试或者相应处理 。如果发送成功,要确保发送成功后,即便一部分数量的 Kafka 机器全部被物理销毁,这个消息依旧能够被持久化保存下来。Kafka 的 Partition 有一个 ISR 机制,当一个 message 被写入到 Leader Pa原创 2021-04-16 09:08:34 · 395 阅读 · 0 评论 -
分布式寻址算法初探
背景在分布式系统中,对数据的准确定位以及整个系统的结构具有很高的要求。主要有三种算法:hash 算法(大量缓存重建)一致性 hash 算法(自动缓存迁移)+ 虚拟节点(自动负载均衡)redis cluster 的 hash slot 算法(也叫hash槽)适用性hash算法比较适合固定分区或者分布式节点的集群架构。一致性hash算法比较适合需要动态扩容的分布式架构以及一些动态负载均衡的分布式中间件和RPC中间件。hash slot是Redis对hash算法的一种实现。算法hash原创 2021-08-03 08:27:29 · 229 阅读 · 0 评论 -
详解HBase架构原理
详解HBase架构原理基础数据模型Name Space命名空间,类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。 HBase有两个自带的命名空间,分别是 hbase 和 default, hbase 中存放的是 HBase 内置的表,default 表是用户默认使用的命名空间。Region类似于关系型数据库的表概念。不同的是, HBase 定义表时只需要声明列族即可,不需要声明具体的列。这意味着, 往 HBase 写入数据时,字段可以动态、 按需指定。因此,和关系型原创 2021-07-15 19:40:51 · 294 阅读 · 1 评论