![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
XCXCXCXCX__
这个作者很懒,什么都没留下…
展开
-
微服务系列(五)解读分布式锁
微服务系列(五)解读分布式锁首先,锁是一个熟悉的字眼,在单机应用中,我们常常使用J.U.C等并发工具类来控制多线程读写问题,也会使用ReentrantLock/ReentrantReadWriteLock或是synchronized关键字来给方法或代码块加锁,从而达到同样的目的。我理解的锁说到锁,我能想到这样几个关键字:临界区、共享变量、并发问题从抽象的角度去考虑,锁就是一个能给什么东...原创 2019-05-31 11:14:06 · 1153 阅读 · 0 评论 -
微服务系列(四)单点登陆问题
微服务系列(四)单点登陆问题分布式系统中单点登陆问题是一个非常常见的问题,开发者经常需要面临不同系统或模块需要不同的认证,而某些场景下,用户只需要一次登陆,即可访问跨模块、系统的服务。ps.分享基于spring boot2.0.x、spring cloud Finchley.SR2一次Oauth 2.0的使用经历由于项目采用了Spring Cloud全家桶来构建底层服务,Spring框...原创 2019-05-31 11:13:57 · 934 阅读 · 0 评论 -
微服务系列(三)如何选择配置中心
微服务系列(三)如何选择配置中心前面通过源码分析过了注册中心的实现,本文继续思考如何选择【微服务基础设施组件:配置中心】对于注册中心,要对于项目特性,并结合注册中心的功能和实现特性来决定匹配度,那么对于配置中心,我们最应该了解的则是其配置信息的组织模式(决定系统的扩展性、可维护性等)、数据的存储方式和通信方式(决定性能、响应速度)、以及组件之间的契合度(笔者认为,如果两个组件之间是完全解耦的...原创 2019-05-31 11:13:48 · 694 阅读 · 0 评论 -
微服务系列(二)(5) Nacos源码分析
微服务系列(二)(5) Nacos源码分析Nacos (official site: http://nacos.io) is an easy-to-use platform designed for dynamic service discovery and configuration and service management. It helps you to build cloud na...原创 2019-05-31 11:13:38 · 13306 阅读 · 1 评论 -
微服务系列(二)(4) ZooKeeper源码分析-part-3
微服务系列(二)(4) ZooKeeper源码分析-part-3本文将继续探究以下内容:Zookeeper Client发送命令链路追踪,Zookeeper的事务请求原理,Watcher监听原理使用ZooKeeper Client的小伙伴应该熟悉这个类org.apache.zookeeper.ZooKeeper,可能有人使用了ZkClient或curatorFramework,而这两种方便...原创 2019-05-31 11:13:27 · 381 阅读 · 0 评论 -
微服务系列(二)(3) ZooKeeper源码分析-part-2
微服务系列(二)(3) ZooKeeper源码分析-part-2前文跟踪源码分析了ZooKeeper Server的初始化过程,通讯原理及选举机制,本文将继续进入源码,探究ZooKeeper的存储机制。通过前文的链路追踪,可以知道ZooKeeper的存储核心类是org.apache.zookeeper.server.ZKDatabase下面就开始分析解读它的实现,它在内存中保存了怎样的数...原创 2019-05-31 11:13:20 · 296 阅读 · 0 评论 -
微服务系列(二)(2) ZooKeeper源码分析-part-1
微服务系列(二)(2) ZooKeeper源码分析-part-1本节开始进行ZooKeeper的源码分析,针对Zookeeper Server的初始化过程,通讯原理及选举机制做源码层面上的介绍作为ZooKeeper的使用者,应该知道如何部署和启动Zookeeper吧看源码的入口就从这里作为出发点,找到zkServer.sh或者zkServer.cmd截取zkServer.sh里的一段重...原创 2019-05-31 11:13:12 · 402 阅读 · 1 评论 -
微服务系列(二)(1) Eureka源码分析
微服务系列(二)(1) Eureka源码分析关于eureka的使用,就不做介绍了,不熟悉的可以参考官方文档引入依赖,修改好配置文件,在主类上加上注解@EnableEurekaServer,启动服务,一个简单的eureka搭建好了。先看看@EnableEurekaServer@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIM...原创 2019-05-31 11:13:01 · 459 阅读 · 0 评论 -
微服务系列(二)探究不同注册中心的底层原理
微服务系列(二)探究不同注册中心的底层原理市面上常见的注册中心有 eureka、zookeeper、consul,又由于笔者有关注目前还在0.8.0版本的nacos,本文就针对这四个注册中心,从底层实现来探讨它们的适用场景,并尝试寻找一些可扩展的入口,也便于开发者在其上进行改造和定制化。前言在介绍四种开源项目之前,先简单认识一下注册中心。我的简单理解:注册中心提供服务注册和服务发现...原创 2019-05-31 11:12:50 · 973 阅读 · 0 评论 -
Dubbo系列(四)源码分析之服务调用
Dubbo系列(四)源码分析之服务调用前文介绍了Dubbo中服务暴露的过程,本文继续介绍服务调用的过程,让一次服务调用过程连接起来理解。如果读者是第一次阅读本文且对Dubbo SPI没有了解,可以先阅读《Dubbo系列(二)源码分析之SPI机制》、《Dubbo系列(三)源码分析之服务暴露》。ps.本文只考虑整合Zookeeper的情况下的默认配置调用过程读取配置信息这里就不赘述了, ...原创 2019-01-15 09:47:46 · 207 阅读 · 0 评论 -
Dubbo系列(三)源码分析之服务暴露
Dubbo系列(三)源码分析之服务暴露前文介绍了Dubbo SPI机制,相信读者应该具备Dubbo中SPI实现类跟踪的能> 力,那么在本文中将会直接跳过SPI分析的过程。如果读者是第一次阅读本文且对Dubbo SPI没有了解,可以先阅读《Dubbo系列(二)源码分析之SPI机制》读取配置信息依赖Spring容器根据spring官方文档给的规范进行扩展,增加Dubbo命名标签,如...原创 2019-01-15 09:45:44 · 470 阅读 · 0 评论 -
Dubbo系列(二)源码分析之SPI机制
Dubbo系列(二)源码分析之SPI机制在阅读Dubbo源码时,常常看到ExtensionLoader.getExtensionLoader(*.class).getAdaptiveExtension();ExtensionLoader.getExtensionLoader(*.class).getExtension(“name”);那么需要深入了解dubbo,了解SPI源码是必不可少...原创 2019-01-15 09:43:58 · 353 阅读 · 0 评论 -
微服务系列(六)探究Spring Cloud服务调用
微服务系列(六)探究Spring Cloud服务调用大纲分布式架构的“骨架”基于http协议的通讯模式RestTemplate与Feign新的选择WebClient从Spring源码中我看到了什么分布式架构的“骨架”分布式架构是由一个个组件组装而成,各司其职,对外提供服务。而将他们联系起来的则是网络,组件之间的通讯方式则是这个分布式架构的“骨架”。如果没有“骨架”,每个组...原创 2019-07-30 20:27:21 · 439 阅读 · 0 评论