会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Dazzling
外婆坐在阳光下 轻轻抚着我的发 那远去的少年 恍然间长大
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
···
67
下一页
2023年4月14日
ZooKeeper 是如何处理一次 create 请求的?
摘要: 我们知道 Session 的产生时机是客户端和服务端建立连接,那建立完连接干嘛呢?肯定是要通信,也就是 CRUD 增删改查操作,比如客户端发送一个 create 请求给服务端,再比如客户端发送一个 get 请求给服务端…… 今天我们就来剖析下客户端发送给服务端一个 create 请求都需要进行哪些操
阅读全文
posted @ 2023-04-14 00:30 Dazzling!
阅读(70)
评论(0)
推荐(0)
2023年4月5日
Zookeeper Session源码
摘要: 我们说客户端与服务端建立连接交互的时候会创建一个 Session 与之对应,那假设客户端请求来了,服务端是如何处理的?Session 又是如何创建出来的? 我们先来看第一个问题:服务端如何处理客户端发来的请求? 一、如何处理请求 所谓的请求全称是网络请求,涉及到网络就少不了 Socket 通信,Zo
阅读全文
posted @ 2023-04-05 11:53 Dazzling!
阅读(114)
评论(0)
推荐(0)
2023年4月2日
Zookeeper Session原理
摘要: 我们的 Leader 已经选举出来了,那接下来该干什么呢?你或许很快能想到,那就是数据同步。通俗地讲,就是 Leader 选出来了,各自的角色都确定好了,那 Follower 和 Observer 自然要同 Leader 建立连接同步数据,这里就引入了 ZooKeeper 的另一个核心知识:Sess
阅读全文
posted @ 2023-04-02 22:40 Dazzling!
阅读(133)
评论(0)
推荐(0)
2023年3月30日
Zookeeper Leader选举网络通信
摘要: Leader 选举过程中怎么把票发出去的?发出去后其他节点是怎么收到票的? 这两个问题的答案说简单点那肯定是通过网络传输,那问题又来了:节点之间是怎么建立连接的? 先来分析下 Leader 选举发起投票以及接收投票这部分内容的网络通信原理以及简易架构图,然后再对照着思想进行源码剖析。话不多说,让我们
阅读全文
posted @ 2023-03-30 20:53 Dazzling!
阅读(82)
评论(0)
推荐(0)
2023年3月29日
Zookeep Leader选举源码
摘要: Leader 选举的核心底层原理可以很简单地概述为:核心参数是 logicClock 逻辑时钟、 epoch、事务次数、myid,核心流程为:先对比 logicClock,再对比 epoch,其次对比事务次数,最后对比myid。 一、投给自己,异步广播 首先明确的一点是只有状态是 LOOKING 的
阅读全文
posted @ 2023-03-29 21:01 Dazzling!
阅读(190)
评论(0)
推荐(0)
2023年3月26日
Java 并发中的设计模式
摘要: 其实在 Java 并发编程这个领域中,隐藏了许多的“设计模式”,并发编程的设计模式和我们常谈的“单例模式”、“工厂模式”这类“设计模式” ,其实可以理解为都是对代码精良设计的思想提炼。 Producer Consumer 模式 Producer-Consumer 模式是大众们使用最多的模式之一,它的
阅读全文
posted @ 2023-03-26 11:27 Dazzling!
阅读(67)
评论(0)
推荐(0)
2023年3月25日
Java ThreadLocal
摘要: ThreadLocal的功能在Java多线程并发环境中非常实用,其作用是提供线程本地变量,例如用户ID、会话ID等与当前线程密切关联的信息。那么它在实际业务场景中可以怎么使用呢?让我们一起来看看下边这个案例。 有一台 Web 服务器,需要设计一个组件,用于记录每次请求完整执行的耗时时长,整体流程如下
阅读全文
posted @ 2023-03-25 23:23 Dazzling!
阅读(62)
评论(0)
推荐(0)
Java 线程池
摘要: 相信在实际工作中,大家对于线程池的使用并不陌生,例如以下几个应用场景: 支付成功之后,异步发送短信通知用户; 公司的OA系统中,提交某些申请之后,异步发送给各个部门负责人进行审批; 请求某个接口时,需要做些日志上报之类的记录。 线程池的使用 下边是一个非常简单的线程池使用案例: public cla
阅读全文
posted @ 2023-03-25 14:51 Dazzling!
阅读(70)
评论(0)
推荐(0)
Java 原子类
摘要: Java 内部提供了两种方式来解决线程安全问题,一种是加入synchronized 关键字,另一种则是使用 Lock 锁。虽然说这两种方式都能解决掉线程安全的问题,但是在某些场景下会稍微有些麻烦,例如下边这个场景,每次请求接口都会对 reqCount 做一次加一操作: @RestController
阅读全文
posted @ 2023-03-25 09:58 Dazzling!
阅读(67)
评论(0)
推荐(0)
2023年3月20日
Java 线程通信
摘要: 相信大家在实际工作中,都或多或少了解过生产者消费者模型,在一些基于内存进行设计的消息队列模型中,当有新消息写入的时候,消息会被投递到一条内存队列中,然后消费者会自动收到通知进行消费。 通常我们称投递消息的一方为生产者,取出消息的一方为消费者。如果要用伪代码去表示这个流程的话,大概如下所示: //生产
阅读全文
posted @ 2023-03-20 21:05 Dazzling!
阅读(102)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
···
67
下一页
公告