
分布式系统理论
zxfBdd
这个作者很懒,什么都没留下…
展开
-
一致性算法Paxos详解
分布式系统除了能提升整个系统的性能外还有一个重要的特性就是提高系统的可靠性,可靠性指的是当分布式系统中一台或N台机器宕掉后都不会导致系统不可用,分布式系统是state machine replication的,每个节点都可能是其他节点的快照,这是保证分布式系统高可靠性的关键,而存在多个复制节点就会存在数据不一致的问题,这时一致性就成了分布式系统的核心;在分布式系统中必须保证: 假如在分布式系统中初始是各个节点的数据是一致的,每个节点都顺序执行系列操作,然后每个节点最终的数据还是一致的。 一致...转载 2020-12-21 20:34:42 · 445 阅读 · 0 评论 -
分布式发布订阅消息系统Kafka架构设计
我们为什么要搭建该系统Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础。现在它已为多家不同类型的公司作为多种类型的数据管道(data pipeline)和消息系统使用。活动流数据是所有站点在对其网站使用情况做报表时要用到的数据中最常规的部分。活动数据包括页面访问量(page view)、被查看内容方面的信息以及搜索情况等内容。这种数据通常的处理方式是先把各种活动以日志的形式写入某种文...转载 2020-12-02 15:55:11 · 437 阅读 · 0 评论 -
一致性Hash算法(Consistent Hash)
##1 分布式算法## 在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括: 轮循算法(Round Robin)、哈希算法(HASH)、最少连接算法(Least Connection)、响应速度算法(Response Time)、加权法(Weighted )等。其中哈希算法是最为常用的算法.典型的应用场景是: 有N台服务器提供缓存服务,需要对服务器进行负载均衡,将请求平均分发到每台服务器上,每台机器负责1/N的服务。常用的算法是对hash结果取余数 (hash() mod N ):对机...转载 2020-12-02 15:04:00 · 252 阅读 · 0 评论 -
大数据--一致性哈希算法
题目:工程师尝试用服务器集群来设计和实现数据缓存,以下是常见的策略。1,无论添加、查询、删除数据,都先将数据ID通过哈希函数转换成哈希值key。2,有N台机器,则key%N为该数据所属的机器编号。无论是添加、删除、查询都在这台机器上进行,请分析这种话缓存策略带来的问题,并提出改进方案。思路:该缓存方式弊端:如果增加、删除机器-->那么N会变,根据ID重新计算key,重新%N’,然后会有很多数据重新迁移到新的机器上,代价大。解决方案:一致性哈希算法:假设...转载 2020-12-02 14:16:40 · 223 阅读 · 0 评论 -
CAP原理和最终一致性(Eventually Consistency)
#0 系列目录# 分布式设计与开发 CAP原理和最终一致性(Eventually Consistency) 分布式算法 [分布式Paxos算法] 分布式一致性Hash算法 轮循算法(Round Robin) Hash求余算法(Hash) 最少连接算法(Least Connection) 响应速度算法(Response Time) 加权算法(Weighted) 分布式消息 分布式发布订阅消...转载 2020-12-01 18:23:33 · 810 阅读 · 0 评论 -
分布式全局ID生成器
需求背景 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。概括下来,那业务系统对ID号的要求有哪些呢? 这个记录标识往往就是数据库中的主键,数据库上会建立聚集索引(cluster index),即...转载 2020-11-02 14:01:41 · 257 阅读 · 0 评论 -
深入浅出一致性Hash原理
一、前言在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务器固定处理一部分请求(并维护这些请求的信息),起到负载均衡的作用。但是普通的余数hash(hash(比如用户id)%服务器机器数)算法伸缩性很差,当新增或者下线服务器机器时候,用户id与服务器的映射关系会大量失效。一致性hash则利用hash环对其进行了改进。二、一致性Hash概述为了能直观的理解一致性hash原理,这里结合一个简单的例子来讲解,假设有4台服务器,地址...转载 2020-08-18 19:02:57 · 111 阅读 · 0 评论 -
分布式CAP定理,为什么不能同时满足三个特性?
在弄清楚这个问题之前,我们先了解一下什么是分布式的CAP定理。根据百度百科的定义,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。一、CAP的定义Consistency (一致性):“all nodes see the same data at the same time”,即更新操作成功并返回客户端后,所有节点在同一时.转载 2020-05-09 16:10:24 · 305 阅读 · 0 评论