随笔分类 -  中间件

摘要:目录Redis 集群创建 Redis 集群创建 Redis 集群集群交互添加新的节点创建节点添加一个节点作为从节点移除一个节点Redis 集群数据分片哈希槽(hash slot)重新分片槽指派ASK 错误复制故障转移一致性 Redis 集群 Redis集群具有水平伸缩的能力,通过Redis集群,可以 阅读全文
posted @ 2026-01-31 10:59 LARRY1024 阅读(7) 评论(0) 推荐(0)
摘要:目录Redis 集群CRC16 的算法原理CRC16 算法最大值心跳master 节点间心跳通讯 Redis 集群 Redis Cluster 采用数据分片机制,定义了 16384 个 Slot 槽位,集群中的每个 Redis 实例负责维护一部分槽以及槽所映射的键值数据。 客户端可以连接集群中任意一 阅读全文
posted @ 2024-02-05 11:48 LARRY1024 阅读(477) 评论(0) 推荐(0)
摘要:目录数据类型String内部实现常用指令应用场景缓存计数分布式锁加锁释放锁共享 Session 信息List内部实现常用命令应用场景Hash内部实现常用命令应用场景缓存对象购物车Set介绍内部实现常用命令应用场景点赞共同关注抽奖活动Zset介绍内部实现常用命令应用场景排行榜电话、姓名排序电话排序姓名 阅读全文
posted @ 2024-01-04 19:47 LARRY1024 阅读(935) 评论(0) 推荐(0)
摘要:目录前言Redis 为什么快Redis 为何选择单线程避免过多的上下文切换开销避免同步机制的开销简单可维护Redis 的网络模型单线程网络模型多线程异步任务多线程网络模型设计思路CPU 亲和性CPU 高速缓存NUMA 架构无锁设计Reds 多线程模型小结源码剖析多线程初始化读取请求写回响应I/O 线 阅读全文
posted @ 2023-11-09 15:05 LARRY1024 阅读(185) 评论(0) 推荐(0)
摘要:[TOC] # 基本概念 ## LEO **LEO(log end offset)** 称为**日志末端位移**,代表日志文件中下一条待写入消息的 offset,这个 offset 上实际是没有消息的。 分区 ISR 集合中的每个副本(所有的 leader 和 follower 副本)都会维护自身的 阅读全文
posted @ 2023-07-31 19:52 LARRY1024 阅读(961) 评论(0) 推荐(0)
摘要:[TOC] # 为什么需要事务呢? 在 Kafka 中设计事务主要针对表现出 **“读取-处理-写入”**(read-process-write) 模式的应用程序,其中读取和写入来自异步数据流(例如 Kafka 主题),即事务中同时包含读取消息、处理消息和写入消息过程,此类应用程序更普遍地称为**流 阅读全文
posted @ 2023-07-27 21:07 LARRY1024 阅读(546) 评论(0) 推荐(0)
摘要:[TOC] # Broker 端 Broker 端参数也被称为静态参数(Static Configs),必须在 Kafka 的配置文件 server.properties 中进行设置的参数,不管是新增、修改还是删除。同时,你必须重启 Broker 进程才能令它们生效。 ## 存储信息相关参数 - ` 阅读全文
posted @ 2023-07-18 16:35 LARRY1024 阅读(431) 评论(0) 推荐(0)
摘要:[TOC] # 逻辑存储 ![image](https://raw.githubusercontent.com/dunwu/images/dev/snap/20210427195053.png) # 持久化 持久化是 Kafka 的一个重要特性。 Kafka 集群持久化保存(使用可配置的保留期限)所 阅读全文
posted @ 2023-07-10 17:14 LARRY1024 阅读(349) 评论(0) 推荐(0)
摘要:[TOC] # Kafka 和 ZooKeeper Kafka 使用 Zookeeper 来维护集群成员的信息。每个 Broker 都有一个唯一标识符,这个标识符可以在配置文件里指定,也可以自动生成。 在 Broker 启动的时候,它通过创建 **临时节点** 把自己的 ID 注册到 Zookeep 阅读全文
posted @ 2023-07-10 16:15 LARRY1024 阅读(729) 评论(0) 推荐(0)
摘要:目录1. 消息不丢失1.1. 存储阶段1.1.1. 副本机制1.1.1.1. 副本数1.1.1.2. 不完全的选主1.1.1.3. 最少同步副本1.2. 生产阶段1.2.1. ACK1.2.2. 重试1.2.3. 错误处理1.3. 消费阶段1.3.1. 消费者的可靠性配置1.3.2. 显式提交偏移量 阅读全文
posted @ 2023-07-07 17:55 LARRY1024 阅读(165) 评论(0) 推荐(0)
摘要:目录消费者简介pull 模式消费者消费者群组消费流程消费者 API创建消费者订阅主题轮询获取消息手动提交偏移量同步提交异步提交重试异步提交同步和异步组合提交提交特定的偏移量从特定偏移量处开始处理关闭连接分区再均衡什么是分区再均衡何时生分区再均衡分区再均衡的过程如何判定消费者已经死亡查找协调者分区再均 阅读全文
posted @ 2023-07-05 09:35 LARRY1024 阅读(260) 评论(0) 推荐(0)
摘要:[TOC] # 生产者简介 不管是把 Kafka 作为消息队列系统、还是数据存储平台,总是需要一个可以向 Kafka 写入数据的生产者和一个可以从 Kafka 读取数据的消费者,或者是一个兼具两种角色的应用程序。 使用 Kafka 的场景很多,诉求也各有不同,主要有:是否允许丢失消息?是否接受重复消 阅读全文
posted @ 2023-07-04 17:32 LARRY1024 阅读(193) 评论(0) 推荐(0)
摘要:# Kafka 简介 Apache Kafka 是一款开源的**消息引擎系统**,它的主要功能是提供一套完备的消息发布与订阅解决方案。在 Kafka 中,发布订阅的对象是主题(Topic),你可以为每个业务、每个应用甚至是每类数据都创建专属的主题。 也是一个分布式流计算平台,此外,还可以作为数据存储 阅读全文
posted @ 2023-07-04 14:40 LARRY1024 阅读(159) 评论(0) 推荐(0)
摘要:Redis 缓存 引入了缓存层,就会有缓存异常的三个问题,分别是缓存雪崩、缓存击穿、缓存穿透。 它们的区别如下: 缓存击穿 场景 高并发流量场景下,大量请求同时访问一个热点数据,该热点数据在数据库中存在,但是, Redis 中缓存的数据已经过期了,这时,一瞬间就会有大量的请求同时打到数据库上,导致数 阅读全文
posted @ 2023-04-20 20:00 LARRY1024 阅读(647) 评论(0) 推荐(0)
摘要:哨兵(Redis Sentinel) 简介 Redis Sentinel provides high availability for Redis when not using Redis Cluster. 当没有使用 Redis Cluster 时,Redis 哨兵(Sentinel)为 Redi 阅读全文
posted @ 2023-04-19 00:34 LARRY1024 阅读(236) 评论(0) 推荐(0)
摘要:Redis 主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 主从复制的作用主要包括: 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 阅读全文
posted @ 2023-04-14 19:04 LARRY1024 阅读(199) 评论(0) 推荐(0)
摘要:[TOC] # Redis数据持久化 Redis提供了四种持久化策略:RDB (Redis Database)、AOF、RDB + AOF 和 不持久化。 - **RDB(Redis Database)** 在指定的时间间隔内将内存中的数据集以快照形式写入磁盘。 - 优点: - RDB 快照是一个压 阅读全文
posted @ 2023-04-06 21:34 LARRY1024 阅读(235) 评论(0) 推荐(0)