摘要: 聊完kafka必不可少的需要再聊一聊zk了,下面开始 #一、ZK是什么 ZooKeeper是分布式应用程序的高性能协调服务。它可以实现分布式的选主、统一配置管理,命名,分布式节点同步,分布式锁等分布式常用功能;它以path节点的形式保存数据,每个节点都可以存储数据,因为ZK只是分布式的协调者而不推荐 阅读全文
posted @ 2022-10-25 13:17 木木他爹 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 两个月因为忙于工作毫无输出了,最近想给团队小伙伴分享下kafka的相关知识,于是就想着利用博客来做个提前的准备工作了;接下来会对kafka做一个简单的介绍,包括利用akf原则来解析单机下kafk的各个角色介绍、集群下kafka的架构、生产者消费者实操、offset的维护粒度、ack取不同值时kafk 阅读全文
posted @ 2022-10-24 12:54 木木他爹 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 发生背景 最近上线的一个项目几乎全是查询业务,并且都是大表的慢查询,sql优化是做了一轮又一轮,前几天用户反馈页面加载过慢还时不时的会timeout,但是我们把对应的sql都优化一遍过后,前台响应还是很慢,数据库测试sql运行时间在3s以内但响应的时候要么500要么就超时了,这时猜测可能是服务器出了 阅读全文
posted @ 2022-07-27 09:21 木木他爹 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 什么是索引 mysql的数据是持久化到磁盘的,写SQL查询数据也就是在磁盘的某个位置查找符合条件的数据,但是磁盘IO比起内存效率是极慢的,特别是数据量大的时候,这时候就需要引入索引来提高查询效率; 在我看来索引是为了提高查询效率而诞生的一种手段,借助合适的数据结构将数据有规律的沉淀下来,使得查询的时 阅读全文
posted @ 2022-06-15 14:27 木木他爹 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 今天来聊聊分布式锁的解决方案,就从什么是分布式锁和分布式锁的解决方案以及具体实现来进行分析,内容纯属个人见解,如有纰漏及错误还请指正! 什么是分布式锁 传统的单机应用中,需求在一台jvm上如果有线程并发的安全问题使用jvm自带的锁机制就能很好的解决;但是在微服务的分布式部署下理论上会有N台JVM集群 阅读全文
posted @ 2022-04-01 22:07 木木他爹 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 今天来聊聊事务的四大特性以及其实现原理,需结合之前写的mysql是如何实现mvcc的来理解,因为大多数的实现都是基于mvcc的,理论介绍完后会通过实例来演示mvcc又是如何实现这些隔离级别的 #事务的四大特性 原子性 事务的执行要么全部成功要么全部失败,成功的时候直接提交就好,某些环节失败的时候是需 阅读全文
posted @ 2022-03-02 17:50 木木他爹 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 前面初步了解了下线程池,包括如何定义一个线程池,线程池的常用构造参数以及jdk的默认实现,今天想结合源码来聊一聊线程池加载任务的顺序、线程池如何回收线程等问题; #前置知识了解 ###ctl参数 private final AtomicInteger ctl = new AtomicInteger( 阅读全文
posted @ 2022-01-14 16:50 木木他爹 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 之前简单介绍了下BlockingQueue也算是为本文做了一个前置铺垫了,今天就来介绍下线程池,因为如果每个线程任务都要显示的手动创建的话会大大浪费资源,所以用线程池来统一维护线程的生命周期;下面先介绍了解线程池需要提前知道的相关类或接口; 前置类或接口 Executor 线程调度的顶层接口,就定义 阅读全文
posted @ 2022-01-13 15:27 木木他爹 阅读(60) 评论(0) 推荐(0) 编辑
摘要: #描述 bitmap是redis封装的用于针对位(bit)的操作,其特点是计算效率高,占用空间少,常被用来统计用户签到、登录等场景 #常用命令及解析 ##常用命令 #####setbit key offset value 给key在指定位索引位置上(offset)设置一个value,因为是bit所以 阅读全文
posted @ 2022-01-10 14:54 木木他爹 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 最近在复习多线程的知识,必然少不了要扫描一遍JUC包下的各个类或接口,今天就先来聊一聊阻塞队列BlockingQueue; BlockingQueue是jdk1.5发布的JUC包下的一个工具类,他提供了天生阻塞的拿(put)和取(take)元素的方法,线程安全,通过其阻塞的put、take方法能很好 阅读全文
posted @ 2022-01-07 17:09 木木他爹 阅读(37) 评论(0) 推荐(0) 编辑