shandadadada
码龄10年
关注
提问 私信
  • 博客:44,361
    44,361
    总访问量
  • 67
    原创
  • 2,108,984
    排名
  • 12
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2015-05-27
博客简介:

shandadadada的博客

查看详细资料
个人成就
  • 获得12次点赞
  • 内容获得3次评论
  • 获得25次收藏
创作历程
  • 2篇
    2021年
  • 45篇
    2020年
  • 1篇
    2017年
  • 5篇
    2016年
  • 14篇
    2015年
成就勋章
TA的专栏
  • 源码
    22篇
  • kafka
    10篇
  • redis
    15篇
  • dubbo
    8篇
  • apollo
    7篇
  • zookeeper
    1篇
  • mysql
  • android
    1篇
  • 云计算
    6篇
  • 算法
    1篇
  • linux
    8篇
  • javaee
  • 经验分享
    8篇
  • 分布式
    4篇
  • hadoop
    3篇
  • java
    7篇
  • flume
    1篇
  • spring
    1篇
  • elk
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Dubbo源码阅读-服务调用过程

1.概述2.源码请求数据的发送过程:proxy0#sayHello(String) —> InvokerInvocationHandler#invoke(Object, Method, Object[]) —> MockClusterInvoker#invoke(Invocation) —> AbstractClusterInvoker#invoke(Invocation) —> FailoverClusterInvoker#...
原创
发布博客 2021.01.29 ·
212 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Dubbo源码阅读-服务导出

1.概述本篇文章,我们来研究一下 Dubbo 导出服务的过程。Dubbo 服务导出过程大致可分为三个部分:第一部分是前置工作,主要用于检查参数,组装 URL。第二部分是导出服务,包含导出服务到本地 (JVM),和导出服务到远程两个过程。第三部分是向注册中心注册服务,用于服务发现。本篇文章将会对这三个部分代码进行详细的分析。2.源码服务导出的入口为:DubboBootstrap.exportServices(),首先会遍历解析完成的所有的ServiceConfig,然后进行服务的导出。
原创
发布博客 2021.01.29 ·
350 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码阅读-Config

1.概述ApplicationModel Environment ServiceRepository ConfigManager ApplicationConfig MonitorConfig ModuleConfig MetricsConfig SslConfig ConfigCenterConfig MetadataReportConfig ProviderConfig ConsumerConfig Pro...
原创
发布博客 2020.11.03 ·
213 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码阅读-服务启动

1.概述2.源码3.总结
原创
发布博客 2020.11.03 ·
270 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码阅读-DUBBO Adaptive

1.概述2.源码3.总结
原创
发布博客 2020.11.03 ·
278 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码阅读-DUBBO SPI

dubbo spi
原创
发布博客 2020.10.29 ·
227 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Dubbo源码阅读-项目结构

1. 概述2.整体设计3.模块分包4.调用链
原创
发布博客 2020.10.13 ·
171 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Dubbo源码阅读

1、疑问点1.1 设计模式1.2 bean加载过程1.3 extension机制1.4 代理1.5 远程调用过程2、源码阅读2.1 项目结构3、参考文章
原创
发布博客 2020.10.13 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-事务

1.概述redis通过MULTI、EXEC、WATCH等命令来实现事务功能。事务以MULTI命令开始,最后由EXEC命令将事务提交给服务器。WATCH命令是一个乐观锁,它可以再EXEC命令执行之前,监视任意数量的数据库key,并在EXEC命令执行的时候,检测是否有某个key被修改过了,如果是,服务器将拒绝事务,并向客户端返回执行失败的响应。2.实现事务的实现分为三个阶段:1)事务的开始2)命令入队列3)事务执行2.1 事务开始MULTI命令可以将执行该命令的客户端非事务状态切
原创
发布博客 2020.05.29 ·
309 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-对象

redis设计与实现-对象
原创
发布博客 2020.05.25 ·
209 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring源码-IOC

1、概述IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。在传统的开发模式下,我们都是采用直接 new 一个对象的方式来创建对象,也就是说你依赖的对象直接由你自己控制,但是有了 IoC 容器后,则直接由 IoC 容器来控制。所依赖的对象直接由 IoC 容器创建后注入到被注入的对象中。注入形式- 构造器注入- setter方法注入- 接口方式注入2、核心实现2.1....
原创
发布博客 2020.05.21 ·
135 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

zookeeper学习笔记(1)-Leader选举之FastLeaderElection

1、概述选举的父接口为Election,其定义了lookForLeader和shutdown两个方法,lookForLeader表示寻找Leader,shutdown则表示关闭,如关闭服务端之间的连接。  AuthFastLeaderElection,同FastLeaderElection算法基本一致,只是在消息中加入了认证信息,其在3.4.0之后的版本中已经不建议使用。  FastLeaderElection,其是标准的fastpaxos算法的实现,基于TCP协议进行选举。  Leade.
原创
发布博客 2020.05.18 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-集群

1.概述除了sentinel方式,redis集群是redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。2.实现2.1 节点2.2 槽指派2.3 在集群中执行命令2.4 重新分片2.5 ask2.6 复制和故障转移2.7 消息3.总结集群中的16384个槽可以分别指派给集群中的各个节点,每个节点都会记录哪些槽指派给自己,哪些槽又被指派给了其他节点 节点在接收到一个命令请求时,会先检查这个命令请求要处理的键所在
原创
发布博客 2020.05.17 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-Sentinel

1.概述SENTINAL启动多个哨兵实例监控,设置探活时间间隔,超时时间,超过多少个哨兵实例失败则切换切换主节点。2.实现切换步奏:修改slave的配置文件,删除slave of ,修改master节点配置文件,加入slave of。3.总结...
原创
发布博客 2020.05.17 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-Reactor模型的应用

1.概述2.实现3.总结
原创
发布博客 2020.05.17 ·
963 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

redis设计与实现-RDB与AOF持久化

1.概述2.实现3.总结
原创
发布博客 2020.05.15 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-数据库

1.概述2.实现3.总结
原创
发布博客 2020.05.15 ·
499 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-压缩列表

1.概述redis中的hash,list,zset在数据量小的时候都使用压缩列表ziplist。2.压缩列表的实现3.总结压缩列表就是对每个节点都记录长度、encoding、内容,有点像网络传输中协议定义一样,用几个字节保存报文长度,然后根据报文长度读取报文内容。...
原创
发布博客 2020.05.14 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis设计与实现-整数集合

1.概述整数集合(intset)并不是一个基础的数据结构,而是Redis自己设计的一种存储结构,是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。2.整数集合的实现2.1 源码://每个intset结构表示一个整数集合typedef struct intset{ //编码方式 uint32_t encoding; //集合中包含的元素数量 uint32_t length;
原创
发布博客 2020.05.14 ·
256 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java并发 - CAS

1. 概述CAS ,Compare And Swap ,即比较并交换。整个 AQS 同步组件、Atomic 原子类操作等等都是基 CAS 实现的,甚至 ConcurrentHashMap 在 JDK 1.8 的版本中,也调整为 CAS +synchronized。2. CAS分析在 CAS 中有三个参数:内存值 V、旧的预期值 A、要更新的值 B ,当且仅当内存值 V 的值等于旧的预期值 A 时,才会将内存值V的值修改为 B ,否则什么都不干Unsafe 是 CAS 的核心类,Java ..
原创
发布博客 2020.05.13 ·
116 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多