摘要: 主从复制的原理 从服务器向主服务器发送SYNC(同步)请求。主服务器收到这个请求之后,(这个时候就不是单线程啦)开始生成RDB(快照文件),并且使用缓冲区记录之后所有的写操作命令。快照文件生成完毕之后,主服务器,向从服务器发送快照文件,这期间也继续记录执行过的写命令。从服务器接收快照文件完毕之后,丢 阅读全文
posted @ 2021-12-07 23:46 sellingpear 阅读(80) 评论(0) 推荐(0)
摘要: 1.缓存和数据库的双写一致性问题 如果有缓存,那么就从缓存中完成查询操作了,所以一定要保证缓存中的数据和数据库中的数据是一致的。 解决的方案: 1.写一个接口,每次做写操作的时候,删除缓存中对应的数据。这样做耦合度高,也有可能会出现接口调用失败的情况。 2.使用消息中间件。 2.缓存的并发竞争问题 阅读全文
posted @ 2021-12-07 23:11 sellingpear 阅读(703) 评论(0) 推荐(0)
摘要: 1.快照模式 也就是RDB,比较快,实际生产中常用,可能会有丢失的数据。 2.AOF 记录Redis执行的写命令,Redis重启后,重新执行这些命令。 优点是数据保存完整,但是速度会比较慢。 2024.6.26 1.RDB文件格式中的 check_sum字段数值用来在载入时判断文件是否损坏 2.RD 阅读全文
posted @ 2021-12-07 22:51 sellingpear 阅读(34) 评论(0) 推荐(0)
摘要: 1.纯内存操作,如今最强的key-value数据库。支持事务化、持久化。 2.单线程操作,避免了频繁的上下文切换。此处的单线程只是指网络IO以及key-value的读写由一个线程完成。但持久化和集群支撑模块是多线程的。 3.采用了非阻塞IO多路复用机制。也就是单个线程,通过跟踪每个IO流的状态管理多 阅读全文
posted @ 2021-12-07 22:35 sellingpear 阅读(629) 评论(0) 推荐(0)
摘要: String:最常用的,也就是字符串。 Hash:也叫散列。 List:简单的字符串列表。 Set:无序字符串集合。 Sorted set:有序字符串集合。 2024.6.24 1.Redis中string数据类型的数据结构 string采用预分配冗余空间的方式来减少内存的频繁分配 string的数 阅读全文
posted @ 2021-12-07 22:27 sellingpear 阅读(44) 评论(0) 推荐(0)
摘要: 首先要找到原因,是producer太多了,还是说consumer太少了。定位问题,然后看下消息的消费速度是否正常,正常的话,可以通过临时上线更多consumer解决问题。 如果consumer和queue不对等,上线了多台consumer也无法解决的话,可以 准备一个临时的topic; queue的 阅读全文
posted @ 2021-12-07 21:38 sellingpear 阅读(975) 评论(0) 推荐(0)
摘要: 1.producer 同步的向broker发送消息,等待响应。 超时则重发,本质上是一个循环,可以设置次数。 broker提供多主模式。 2.broker 将默认的异步刷盘和集群的异步同步更改为同步刷盘,同步同步,也就是同步双写。 3.consumer 利用的是at least once特性。 阅读全文
posted @ 2021-12-07 21:25 sellingpear 阅读(88) 评论(0) 推荐(0)
摘要: 1.相关的类 TopicPublishInfo类是用于producer端做负载均衡的关键类,producer通过这个类识别broker并选择broker。 MessageQueue类描述了单个消息队列的模型。 这个类用于管理队列属于那个topic,以及在哪个broker。 TopicRouteDat 阅读全文
posted @ 2021-12-07 19:35 sellingpear 阅读(451) 评论(0) 推荐(0)
摘要: 所有producer的send()方法都调用了defaultMqProducer.send()方法; 这也是为什么我们需要对每个每一个producer进行配置的原因; 生产者发送时,会自动轮巡所有可以发送的broker,一条消息发送成功,下一次发送消息换另一个broker发送,使消息平均落在所有br 阅读全文
posted @ 2021-12-07 17:38 sellingpear 阅读(117) 评论(0) 推荐(0)
摘要: 1.nameserver 可以做集群,提供轻量级的服务发现与路由。每个nameserver记录完整的路由信息,提供等效的读写服务并支持快速存储扩展。 就是一个注册中心,存储当前集群所有broker的信息、Topic和broker的对应关系。 nameserver用于存储topic、broker关系信 阅读全文
posted @ 2021-12-07 17:25 sellingpear 阅读(67) 评论(0) 推荐(0)