Kafka
未读
Kafka中的offset
Offset的默认维护位置 ==0.9版本以前==:consumer默认将offset保存在Zookeeper中。 ==0.9版本及以后==:consumer默认将offset保存在kafka一个内置的topic中,改topic为__consumer_offsets。 扩展 ___consumer_
Kafka
未读
Broker工作原理
Broker的总体工作流程 broker启动后在ZK中注册 每个Broker中都有一个Controller,zookeeper中的controller信息是哪个Broker中的Controller先注册上,就是哪个Broker中的Controller说的算。 由选举出来的Controller监听Zo
Redis
未读
Redis的内存碎片问题
原文:Redis 内存碎片 什么是内存碎片? 你可以将内存碎片简单地理解为那些不可用的空闲内存。 举个例子:操作系统为你分配了 32 字节的连续内存空间,而你存储数据实际只需要使用 24 字节内存空间,那这多余出来的 8 字节内存空间如果后续没办法再被分配存储其他数据的话,就可以被称为内存碎片。
Redis
未读
Redis的IO模型
前言 我们都知道redis是单线程,Node.js、Nginx同样也是单线程,redis所有的数据都是基于单线程运算的,但是redis可以处理高并发。 Redis可以处理高并发的原因 1、基于多路复用(事件轮询)、非阻塞。 2、非阻塞IO:非阻塞IO在套接字对象上提供一个Non_Blocking选项
Redis
未读
Redis常见面试题
Redis和Memcache的区别 Redis拥有更多的数据结构 Redis相比Memcache来说,拥有更多的数据结构和支持更丰富的数据操作,通常在Memcache里,你需要将数据拿到客户端来进行类似的修改,在set进去。这就大大增加了网络IO的次数和体积,在Redis中,这些复杂的操作通常和一般
Redis
未读
Redis排队延迟问题:造成的原因及解决方案
slowlog 无法监控排队延时,他只能监控每条命令的执行时间,并将执行时间大于设置的阈值的命令保存起来。 持久化阻塞 原因 对于开启了持久化功能的 Redis 节点,需要排查是否是持久化导致的阻 塞。持久化引起主线程阻塞的操作主要有:fork 阻塞、AOF 刷盘阻塞。 fork 操作发生在 RDB
Redis
未读
Redis双写一致性解决方案
Redis双写一致性是指在更新数据库时同时更新缓存,以保持数据的一致性。这个问题在分布式系统中尤为重要,因为数据不一致会导致用户体验下降和数据错误。解决双写一致性问题通常有两种策略:追求强一致性和允许延迟一致性。 强一致性策略 延迟双删 在这种策略中,更新操作会先删除缓存,然后更新数据库,最后再次删
Redis
未读
Redis中的跳跃表
前言 跳跃表是一种有序的数据结构,它通过在每个节点维持多个指向其他节点的指针,从而达到快速访问节点的目的。 什么是跳跃表 对于单个链表来讲,即便链表中存储的数据是有序的,如果我们要向在其中查找某个数据,它只能从头到尾遍历链表。这样查找效率就会很低,时间复杂度会很高,达到了O(n)。 如果我们想要提高
Redis
未读
Redis 安装及配置
下载Redis https://redis.io/download/ wget http://download.redis.io/releases/redis-6.2.6.tar.gz 安装Redis 解压:tar -zxvf redis-6.2.6.tar.gz 编译:make 可以看到在 src
中间件
未读
设置ElasticHD开机自启
编写服务文件:elasticHD #!/bin/bash
#chkconfig: 345 63 37
#description: elasticsearch
# 这个目录是你Es HD所在文件夹的目录
export ESHD_HOME=/opt/software/elasticHD
case $1