图文并茂带你走进HTTPS的加密过程

何为HTTPS?HTTPS即为加密的HTTP,HTTP是超文本传输协议,是明文传输的。HTTPS不是一个新的协议,而是HTTP+TLS(SSL)。假设传输层是TCP,原本HTTP先和TCP通信,而加了SSL后,HTTP先和SSL通信,然后由SSL再和TCP通信,相当于SSL是HTTP和TCP的一个中间加密层。加密方式共享密钥加密(对称密钥加密):加密和解密用同一个密钥。加密时必须把密钥传输给对方公

- 阅读全文 -

一致性hash算法-分布式缓存的答案

一致性hash算法也是一种hash算法,目的是为了解决分布式缓存问题。在添加或移除服务器的时候,能尽可能的保证已存在的请求和处理请求的服务器之间的映射关系。一致性hash算法解决了简单hash算法在分布式hash表中存在的动态伸缩的问题。假设场景公司有3台缓存服务器,用来存储用户头像的图片,编号0,1,2。现在有9万个用户头像需要存储,现在希望能够均匀的缓存到3台服务器上,也就是每台服务器缓存3万

- 阅读全文 -

彻底理解红黑树

在亿级数据中只需要进行几十次的比较就能查找到目标,这就是红黑树的魅力。在学习红黑树之前,要先理解一下二叉查找树(Binary Search Tree)。二叉树二叉查找树的特性:左子树上所有节点的值均 <= 它的父节点的值右子树上所有节点的值均 >= 它的父节点的值左右子树也分别称为二叉排序树经典的二叉树二叉树的查找我们从上面这颗二叉树中来查找值为12的节点。首先,查看根节点值为9,小于12,

- 阅读全文 -

布隆过滤器原理、使用场景

什么是Bloom Filter?布隆过滤器本质上是一种高效的数据结构,概率型的数据结构。特点是能够高效的插入和查询,可以告诉你“某个数据一定不存在或者可能存在”,但并不能告诉你一定存在。相比于传统的List,Set等数据结构,它的占用空间更小,缺点是返回的结果是概率性的,不是确切的。Bloom Filter实现原理实现原理原理:当一个元素被加入集合时,通过k个散列函数将这个元素映射成一个bit数组

- 阅读全文 -

缓存淘汰--LRU算法

缓存是什么?计算机里通常讲的缓存就是指一片高速数据存储层,现在大部分系统的设计通常使用Memcache或Redis来作为缓存介质,缓解DB的负载压力。举个简单的例子,当多个浏览器访问不同的页面时,会先从缓存层返回数据给浏览器,但是每天访问的页面不计其数,涉及到的数据很难估计。如果把所有数据都缓存下来,需要大量的存储介质。而缓存通常用的是比较昂贵的硬件,比如RAM。缓存的容量有限,但是数据是无限的,

- 阅读全文 -