水下功夫做透,水上才能顺风顺水。
摘要: Mysql主从复制原理 1. master服务器将数据的改变都记录到二进制binlog日志中; 2. salve服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/O Thread请求master二进制事件 3. 同时主节点为每个I/O线程启动一个du 阅读全文
posted @ 2020-05-31 23:02 北方寒士 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。master节点挂太多slave节点会有性能问题,此时就可以在slave节点上挂slave节点 全量同步Redis全量复制一般发生在S 阅读全文
posted @ 2020-05-31 22:37 北方寒士 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 一. 顺序读写,避免了随机写的硬盘磁头的寻道,只需很少的扇区旋转。二.Page Cache,Kafka的数据并不是实时的写入硬盘,利用OS的分页存储提高I/O效率,flush后才真正写到磁盘。三.零拷贝,建立了磁盘空间和内存的直接映射,数据不再需要复制到"用户态缓冲区"。四.分区分段+索引(稀疏索引 阅读全文
posted @ 2020-05-31 22:13 北方寒士 阅读(445) 评论(0) 推荐(0) 编辑
摘要: mysql一个表中,多少行会变慢?1000万行左右,跟进每行数据大小还有关。 单机mysql支持的并发量?2000-3000 左右。 kafka支持的吞吐量是多少?百万级别 默认情况下mysql的页大小为16k。 阅读全文
posted @ 2020-05-31 21:25 北方寒士 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 当有1000个线程同时执行i++操作时,i变量的副本拷贝到每个线程的线程栈,当同时有两个线程以上的线程读取线程变量,比如此时是5,那么同时执行i++操作,再写入到全局变量,最后,两个线程跑完了,这个i还是6,而并不会是7,所以,出现不安全性。 一个线程对共享数据的写操作是分两步的,1.读到线程栈。2 阅读全文
posted @ 2020-05-31 12:53 北方寒士 阅读(1239) 评论(0) 推荐(0) 编辑