自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 Quorum学习总结

在分布式系统中,为了高可用和容错性,数据需要被复制到多个服务器上。为了保证数据在多个服务器上最终一致,需要一种机制保证一个operation只有在一定数目的服务器上完成后,服务器才回复这个operation的成功,我们称这个过程为这些服务器达成了Quorum, 有点类似于投票。写的Quorum如果小于服务器的数量的话,客户端可能读到不一致的数据。举个例子,a=5存储在服务器s1, s2, s3上,现在我们要写a=7,那么我们可以选2个服务器这样大多数的服务器会得到最新的a=7的数值,然后我们返回写的成功

2021-07-12 13:39:51 435

原创 Consistent Hashing (一致性哈希) 学习总结

简介分布式系统在水平扩展增加服务器时,新的服务器需要replicate一些local的data才能让新的request去访问。我们需要解决的是如何有效的分割数据才能尽量减少增加服务器需要做的数据重新分配,从而加快增加新的服务器的速度和减少可能出现的错误。简单的方法最原始的方法是用简单的hash来分割数据。假设我们有8台服务器,所有request通过user id%8来选择服务器, 那么user 1会用到服务器1, user 12会用到服务器4, 以此类推。这样的好处是非常简单,但是坏处是每次增加

2021-07-04 00:30:08 144

原创 Bloom Filter学习总结

Bloom Filter (BF) 是一种可以快速告诉我们一个数据是否一定不在(也许在)一个集合中的数据结构。空的BF是一个m大小的0值bit array,同时需要k个不同的哈希函数,每一个可以hash到m个位置中的一个。每一个数值通过哈希函数得到k个1同时把bit array中的这k个位置设为1。想知道一个数值是否在集合中可以通过同样的方法把这个数hash到k个位置上,如果任何一个位置是0,那么这个数一定不在集合中;如果全部是0,那么这个数有可能在集合中。每次运算需要计算k个哈希值,算法时间复杂度是O(1

2021-06-27 23:15:50 117 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除