分布式相关及组件
文章平均质量分 91
整理分布式的概念及相关组件
茯楚
努力成为大佬的不知道多少天
展开
-
Dubbo流程及源码分析(四)
扑街前言:本篇是dubbo的最后一篇文章了,对之前dubbo相关的文章做一个总结,第一篇是dubbo的SPI和Java的SPI,第二篇是Spring 集成dubbo和provider 方的启动,接着第三篇就是comsumer 方的启动,那么本篇要讲的就是服务调用的全部流程。...原创 2022-03-15 16:31:43 · 1952 阅读 · 0 评论 -
Dubbo流程及源码分析(三)
扑街前言:之前忘记说了,这个dubbo分析要结合我之前的文章,比如netty、zookeeper、rpc等文章一起看,dubbo太复杂了所以有些地方描述得也不是很详细,这边也是提供一个代码分析的思路,真正要读懂这个还需要自己去翻一下源码,注释版的源码可以在我的资源中下载。本篇文章主要说客户端的启动流程。还是要拿一下上面文章中的架构图,这个图是绝对的重点,先上图,我们再往下面讲。consumer启动流程 从上面的架构图结合之前分析服务端启动流程...原创 2022-03-05 17:12:18 · 304 阅读 · 0 评论 -
Dubbo流程及源码分析(二)
扑街前言:上篇文章说了关于dubbo和Java的SPI机制,本次说下关于Spring对于dubbo的一个集成,从spring的集成出发分析整个dubbo的启动流程。在了解dubbo的服务注册和服务发现之前,我们首先需要掌握...原创 2022-03-01 10:54:39 · 816 阅读 · 0 评论 -
zookeeper使用及源码分析(三)
扑街前言:继续上篇的内容接着来,上两篇说了zk 的服务端的启动流程和每一个线程所做的具体事情,本次我们讨论一下服务端的读写事件。原创 2022-02-05 16:09:45 · 1712 阅读 · 0 评论 -
zookeeper使用及源码分析(二)
扑街前言:上篇文章我们说了zk 的服务端启动源码还有一些基本概念和使用,本次我们来讨论一下zk 服务端的业务逻辑。上篇文章我们了解了zk 的IO流程图,这次还是根据那副图我们来继续说。先上图。从流程图可以看出连接监听的线程就是AcceptThread、监听读写的就是SelectorThread、具体业务逻辑处理的就是WorkService,上次我们也说了这些线程的创建过程和启动,那么我们就可以找到对应的线程对象,然后找到线程的run方法来进行源码分析,下面我们一点点的...原创 2022-02-04 12:11:31 · 1594 阅读 · 0 评论 -
Dubbo流程及源码分析(一)
扑街前言:之前的文章说明了zookeeper的使用及源码,那么本次我们继续了解和zookeeper的黄金搭档dubbo的相关内容,当然dubbo也是典型的rpc框架,所以我们从客户端和服务端逐个分析,后续还有一系列文章,慢慢来。年后任务。。。。。...原创 2022-02-15 18:40:01 · 2321 阅读 · 0 评论 -
zookeeper使用及源码分析(一)
扑街前言:前端时间的文章都是在说RPC框架的网络通讯方式,这段时间我们了解一个金典的rpc框架zookeeper的使用及源码,zookeeper目前最常使用的就是作为注册中心,和dubbo结合就是一个实用的分布式架构,所以本篇已经后续的文章也是根据注册中心的思路来了解zookeeper。 年后再完成后续,先定一个目标...原创 2022-02-03 18:09:24 · 1771 阅读 · 0 评论 -
分布式锁概述
扑街前言:原创 2021-11-30 16:36:43 · 297 阅读 · 0 评论 -
基于Redis实现分布式锁(二)
扑街前言:上篇文章简单的说了一下Redis实现分布式锁的基本原理,本次来分析下Redis提供的分布式锁的源码。(认识自己是菜鸟的第十一天)RedissonClient: 我们先说结论,Redis本身提供的RedissonClient对象(客户端对象),这个对象的getlock()方法能获取一把锁对象,然后lock.lock()加锁,lock.unlock()解锁。最简单的分布式锁就完成了。简单的难以想象,我们说下源码。Config config = new Con...原创 2021-12-06 15:57:09 · 398 阅读 · 0 评论 -
基于Redis实现分布式锁(一)
扑街前言:之前的分布式锁概述文章中讲到了分布式锁的特性,那么这次就根据这些特性聊一下Redis是如何实现分布式锁的。(认识自己是菜鸟的第九天)setnx和expire命令: 谈及如何基于Redis如何实现分布式锁或者说简单的锁,那么就一定要涉及setnx和expire两个命令。(这里提供一个网址,个人觉得很好用:Redis 命令参考 — Redis 命令参考)setnx:只有键key 值不存的情况下,将键key 值设置为值value。如果键key 值存在,则setn...原创 2021-12-01 15:56:02 · 1308 阅读 · 0 评论