分布式
分布式相关中间件原理以及总结
Kindle_code
这个作者很懒,什么都没留下…
展开
-
从kafka的请求处理模型理解Reactor模式
是原创 2020-08-12 23:52:16 · 738 阅读 · 0 评论 -
从kafka说起零拷贝机制的运用
参考文章: 图解Kafka的零拷贝技术kafka高吞吐量的原因1、磁盘顺序写: 磁盘的顺序IO速度远大于固态硬盘随机写操作2、消息压缩: 数据压缩减少网络传输3、分批发送: kafka允许批量发送消息4、分区: 多分区,并行消费5、零拷贝机制今天主要讲讲零拷贝机制与在kafka中的应用传统的文件拷贝机制传统的文件拷贝,从磁盘上再到网卡要经过四步1、操作系统从磁盘将数据读取到内核空间的页缓存2、应用程序将数据从内核空间读入用户空间缓存区3、应用程序将读到的数据写回到socket缓冲区原创 2020-08-12 20:51:50 · 303 阅读 · 0 评论 -
Memcached内存管理模型与LRU算法优化
Memcached 采用的是 Slab allocation 内存模型,如下图:说明:1、最大内存默认64兆,通过-m调整,内存空间有slab class构成,内存以slab page为单位申请,分配到对应的slab class2、slab page: 最大1兆,由一个或多个chunk组成3、chunk: 实际存储数据的单元96字节 ~ 1兆4、slab class增长的幅度,由增长因子决定 (默认1.25)5、调整slab的增长因子,根据业务需求调整,进行调优Memcached LRU 策原创 2020-07-30 01:55:40 · 457 阅读 · 0 评论 -
布隆过滤器原理与场景
原理一个很长的二进制向量和一系列随机映射函数 。通过设置向量数组长度与定义多种随机hash函数,正向预热数据,反向查询数据。使用的hash函数越多,区分度就越高。图解:使用场景大数据判断是否存在:这就可以实现出上述的去重功能,如果你的服务器内存足够大的话,那么使用 HashMap 可能是一个不错的解决方案,理论上时间复杂度可以达到 O(1 的级别,但是当数据量起来之后,还是只能考虑布隆过滤器。解决缓存穿透:我们经常会把一些热点数据放在 Redis 中当作缓存,例如产品详情。 通常一原创 2020-07-29 22:59:41 · 223 阅读 · 0 评论