摘要:
1 客户端逻辑1.1 概述偏移量管理主要是指管理每个消息队列的消费进度:集群模式消费下会将消息队列的消费进度保存在Broker端,广播模式消费下消息队列的消费进度保存在消费者本地。组件分析:RocketMQ定义了一个接口OffsetStore。它的实现类有两个:RemoteBrokerOffsetS 阅读全文
摘要:
1:快照原理Redis使用操作系统的多进程COW(copy on write)机制来实现快照持久化,Redis在持久化时会调用glibc的函数fork产生一个子进程,快照持久化完全交给子进程来处理,父进程继续处理客户端请求。子进程刚刚产生的时,它和父进程共享内存里面的代码段和数据段。子进程做数据持久 阅读全文
摘要:
什么是慢查询日志? 慢查询日志是Redis服务端在命令执行前后计算每条命令的执行时长,当超过某个阈值是记录下来的日志。日志中记录了慢查询发生的时间,还有执行时长、具体什么命令等信息,它可以用来帮助开发和运维人员定位系统中存在的慢查询。 慢日志配置查看redis慢日志配置,登陆redis服务器,使用r 阅读全文
摘要:
什么是两阶段提交当有数据修改时,会先将修改redo log cache和binlog cache然后在刷入到磁盘形成redo log file,当redo log file全都刷入到磁盘时(prepare 状态)和提交成功后才能将binlog cache刷入磁盘,当binlog全部刷新到磁盘后会记录 阅读全文
摘要:
binlog有三种格式:Statement、Row以及Mixed。 –基于SQL语句的复制(statement-based replication,SBR), –基于行的复制(row-based replication,RBR), –混合模式复制(mixed-based replication,MB 阅读全文
摘要:
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL磁盘写入策略以及数据安全性的关键参数。show variables like "innodb_flush_log_at_trx_commit"; innodb_flush_log_at_tr 阅读全文
摘要:
日志系统主要有redo log(重做日志)和binlog(归档日志)。redo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志, 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。 redo log日志模块redo log是Inn 阅读全文
摘要:
概念责任链,顾名思义,就是用来处理相关事务责任的一条执行链,执行链上有多个节点,每个节点都有机会(条件匹配)处理请求事务,如果某个节点处理完了就可以根据实际业务需求传递给下一个节点继续处理或者返回处理完毕。 责任链模式优缺点优点:降低耦合度。它将请求的发送者和接收者解耦 简化了对象,使得对象不需要知 阅读全文
摘要:
在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。比如,下面是非线程安全的延迟初始化对象的示例代码: 1 public class UnsafeLaz 阅读全文
摘要:
1、SET key value含义: 将字符串值 value 关联到 key 。 如果 key 已经持有其他值, SET 就覆写旧值,无视类型。 2、SETEX key seconds value含义: 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位) 阅读全文