自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 问答 (2)
  • 收藏
  • 关注

原创 浅谈 Zookeeper 中的 Session 与 临时节点

→zookeeper version 3.6.1一、临时节点 相信我们对 zookeeper 的临时节点都不陌生,与持久节点的最大区别就是会随着会话的消失而删除,这种特性常被用来作注册中心分布式锁等,下面来分析下临时节点的实现: 单机模式下由三个 processor 构成了整个处理链路 PrepRequestProcessor 主要负责请求的反序列化,串行化处理和权限校验等 SyncRequestProcessor 主要负责数据的持久...

2021-02-09 14:26:51 2670

原创 Zookeeper 前置请求的处理

一、前言 上篇文章聊到了 zk 的底层线程通信模型,算是为本节 zk 是怎样处理请求的打下了一定的基础,因为如果直接进行 server 端请求的讲解可能会被绕晕,zk 底层模块间的交互基本追求完全的解耦,使用了很多队列,看完上篇文章应当至少对 zk client 端 zk server 端底层队列的使用有个大概的印象。二、Zookeeper 请求处理 Zookeeper 请求准备按照以下三个层级进行介绍:启动前的准备阶段、请求前的协商阶段、请求处理阶段。 client 端与...

2020-11-08 18:09:24 1777

原创 Zookeeper 底层线程通信模型

一、前言 在读本文之前相信你已经了解过网络编程的相关知识,如果没有的话你需要先去了解下 NIO 相关知识,否则读起来可能会有点吃力。二、Java 中的通信模型 一)、BIO 模型 相信大部分情况下你最早接触的通信模型就是 BIO ,这种模型的有点就是使用起来非常简单,并且在并发量小的情况下能实现较高的性能,在早期互联网没有这么发达的时候,这种模型使用是非常普遍的,但随着互联网的发展,对于网络平台的并发要求也就越来越高,BIO 模型越来越难以适应这种状况了,因为要求一...

2020-10-18 22:39:24 528 1

原创 用代码探究 java 中的偏向锁

一、synchronized 相信对于 java 开发这个关键字并不陌生,它主要是用来进行线程间通信和保证共享数据的一致性,但是在刚入行的时候听老前辈说过尽量少使用 synchronized 这个关键字,多使用 juc 包下的 Lock 来替代它,因为使用synchronized 的成本很高,可能在当时他说的是对的,但是在现在看来这句话不一定是对的,为什么这么说呢,请看下面的例子(使用 jdk 版本:1.8.0_231)public class SyncBeforeJdk16Test...

2020-05-17 21:38:48 1194 4

原创 mybatis LocalCache踩坑记录

上周周三下午,准备去吃饭的时候,值班突然找过来说用户操作时爆出订单不存在的问题,因为之前做了分表连续很长一段时间都没问题,而且当时找过来的都是一些因为产品或者QA操作不当找不到记录的情况,就没有在意这些,当时以为几分钟就能搞定,但是没想到居然是线上日志爆出的问题,经过验证订单确实不存在!心想完了,晚饭没了,说不定地铁末班车也没了背景 聊这次问题之前向先交代一下背景,之前做了分...

2019-09-23 00:07:29 1245 3

原创 Spring事务传播方式 REQUIRED 与 NESTED 踩坑

产生疑惑开始对REQUIRED 跟 NESTED 事务传播方式不是很理解,网上大多数材料介绍的诸如:1、嵌套事务有回滚点,如果抛出异常嵌套事务会回滚到回滚点2、嵌套事务如果外层没有事务会新开一个事务3、嵌套事务会比外层事务先提交。。。剩下就是写利用嵌套事务的case当时就感觉这不是跟 REQUIRED 一样吗,好像也没啥区别,代码中有一块这样的逻辑用到了嵌套事务,去找T...

2019-08-03 14:33:47 3192 6

原创 记录排查一次线上的死锁问题

死锁问题出现 某天下午突然接到报警说是出现了死锁,当时的日志是这样的问题排查 我们先来回顾一下死锁出现的条件 1、循环等待 2、互斥 此时看了下发布记录最近并没有什么功能上线,首先排除是上线代码质量问题引起的死锁。 之后查看当时日志定位死锁发生在业务线同步请求的后处理环节,后处理环节涉及到该张表操作的一共有三个环节:同步请求环节,合作...

2019-07-14 17:56:22 393

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除