摘要: 布隆过滤器(Bloom Filter)是一种比较巧妙的数据结构, 他的功能就是判断一个元素是否在一个集合中, 相比于List, Hash等数据结构,它使用的空间很小, 原理就是通过N个hash函数,映射到一个位图上,将指定位置的位图元素设置为1,因为它不存储原始数据,再加上位图长度没有办法扩展,所以 阅读全文
posted @ 2020-08-04 22:37 秋夜 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 跳跃表是一种比较巧妙的结构,其查询性能大部分都可以达到O(logN),Redis中的sorted set 就使用了这种结构。 Skip list的性质 (1) 由很多层结构组成,level是通过一定的概率随机产生的。 (2) 每一层都是一个有序的链表,默认是升序 (3) 最底层(Level 1)的链 阅读全文
posted @ 2020-08-04 22:29 秋夜 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 在缓存场景中,一致性hash算法避免了余数法在因为节点失效导致大面积缓存失效的问题。 直接上代码,使用了Java自带的TreeMap, 参考了dubbo代码中的一致性hash负载 1 package org.example; 2 3 import java.nio.charset.StandardC 阅读全文
posted @ 2020-08-04 13:08 秋夜 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 简介 LRU是一种缓存淘汰策略,全称是Least Recently Used,即最近最少使用,也就是说我们认为最近使用过的数据应该是是有用的,很久都没用过的数据应该是无用的。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。 LRU的实现思路就是hashmap+双链表,其中has 阅读全文
posted @ 2020-08-04 13:06 秋夜 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 简介 简介 前面两篇文章主要讲了数据库读写分离和分表分库的一些问题,这篇文章主要讲一下我个人实现的一个分表分库项目。 在此之前,我有写过一个.Net的分库,最近在做Java的项目,就顺便做出一个Java版本,这个项目源于我另外的一个业务项目,在这个业务项目中有分表(在一个数据库下有多张表),当时写了 阅读全文
posted @ 2017-06-15 09:13 秋夜 阅读(3457) 评论(0) 推荐(0) 编辑
摘要: 简介 简介 前面一篇文章说到,当遇到数据存储层的高并发的时候,会首先想到读写分离,同时高并发有可能意味着数据量大,大量的查询或更新操作集中在一张大表中,锁的频繁使用,会导致访问速度的下降,而且数据量可能超过了单机的容量,所以我们想到了分库分表。 但是在分库分表之前,我还是想多说几句,除非使用那些透明 阅读全文
posted @ 2017-06-09 18:39 秋夜 阅读(3903) 评论(0) 推荐(0) 编辑
摘要: 简介 简介 对于数据存储层高并发问题,最先想到的可能就是读写分离,在网站访问量大并且读写不平均的情况下,将存储分为master,slave两台,所有的写都路由到master上,所有的读都路由到slave上,然后master和slave同步。如果一台salve不够,可以加多台,比如一台master,3 阅读全文
posted @ 2017-05-19 19:28 秋夜 阅读(10822) 评论(0) 推荐(1) 编辑
摘要: 简介 简介 今天主要讨论一下,对于分布式服务,站点如何平滑的上下线问题。 分布式服务 分布式服务 在分布式服务下,我们会用nginx做负载均衡, 业务站点访问某服务站点的时候, 统一走nginx, 然后nginx根据一定的轮询策略,将请求路由到后端一台指定的服务器上。 这样的架构是没有问题的, 但是 阅读全文
posted @ 2016-11-15 09:30 秋夜 阅读(12034) 评论(16) 推荐(4) 编辑
摘要: 简介 简介 在公司的服务多了以后,为了调用上的方便,同时为了以后的服务治理,一般都会使用一些服务框架,这里主要介绍我知道的几个服务框架,简析一下这些服务框架的基本概念。 可投入生产环境使用的 可投入生产环境使用的 以下两个服务框架,我已经见过有公司投入到生产环境,所以对于稳定性,应该不需要有太大的担 阅读全文
posted @ 2016-11-02 10:31 秋夜 阅读(12348) 评论(19) 推荐(29) 编辑
摘要: 简介 简介 对于.net来说,用web api来构建服务是一个不错的选择,都是http请求,调用简单,但是如果真的要在程序中调用,则还有些工作要做,比如我们需要手写httpClient调用,并映射Model, 如果服务少还可以,多了就繁琐了。 Swagger Swagger 关于Swagger的信息 阅读全文
posted @ 2016-10-17 11:49 秋夜 阅读(7572) 评论(6) 推荐(12) 编辑