zookeeper源码学习-CreateMode,聚焦核心问题、实现思路与落地建议。
zookeeper源码学习-整体流程
本文主要是记录自己在学习zookeeper源码时候的相关内容,主要研究了从zk启动,到完成leader选举的过程。重点是学习leader选举的过程,想配置文件读取这种只是做了大概的了解以及记录 源码的版本是 3.6.1
guava源码-RateLimiter
使用方法 - 创建RateLimiter - 使用的时候,去acquire 工作流程 采用令牌桶算法。在create的时候,根据传入的每秒令牌数,计算出每个令牌发放锁需要的时间,然后设定初始的令牌数。 在使用acquir
java设计模式-观察者模式
观察者模式指的是当存在一对多的场景的时候,一个对象发生了状态的变化之后,多个对象能够得到通知并且获得更新。 这个模式在一些pub/sub方式的中间件中很常见,例如消息的发布与订阅,MQTT的pub与sub。 但是如果真正
java设计模式-单例模式
懒汉模式 - 使用private的构造函数,确保无法通过new的方式,来创建一个新的实例,在使用new的时候会提示。 - 通过volatile保证,在获取的时候,实例始终是最新的。 - 在使用getInstance获取实
简易CI-CD (1)
背景 工作的时候做了一个agent,需要进行构建打包,上传到oss,然后分发到各个机器。 该操作跟一般的应用不同,因此无法通过已有的发布系统来进行操作,因此自己只能另外单独做一个CI/CD系统。 主要涉及以下技术: -
简易CI-CD (2)
背景 前文我们设置了jenkins 的pipeline,并且接受调用方传过来的参数,现在我们实现具体的CD操作,也就是把产物传到目标机器,并且停止老应用,启动新应用。 一般而言CD会包含以下的步骤 - 登录目标机器 -
Spring注入变量为null
背景 有个controller,里面有个方法,在使用public修饰的时候,能够拿到类中定义的属性,在使用private的时候,取到的属性为null 调查 为public的时候,调试信息如下 其中的this对象,是正常的
Junit单测踩坑
背景 今天在写单测的时候,会涉及到测试多线程的部分,但是在测试的时候发现现象会诡异 子线程的逻辑还没有执行的时候,jvm就会退出,或者有的时候执行了一小部分,就会退出了。 解决思路 第一时间以为是遇到了报错,或者是异常。
Curator框架-InterProcessMutex
InterProcessMutex 分布式锁 InterProcessMutex是常用的一个使用ZK的分布式锁,它会在我们指定的前缀下面创建类型为有序临时的临时节点,然后序号最靠前的节点会获取到锁。 如果某个持有锁的线程