什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。
普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个的顺序执行,否则会出现并发问题。
如何控制呢?就是设置一个各个线程都能看的见的标志。然后,每个线程想访问临界区域时,都要先查看标志,如果标志没有被占用,则说明目前没有线程在访问临界区域。如果标志被占用了,则说明目前有线程正在访问临界区域,则当前线程需要等待。
这个标志,就是锁。
在单机多线程的java程序中,我们可以使用堆内存中的变量作为标志,因为多线程是共享堆内存的,堆内存中的变量对于各个线程都是可见的。
话不多说,先上张图
**先来看一份DUBBO脑图:**HelloWorld+前置知识+适合群体+架构(核心点:生产者 消费者问题
特点:连通性,健壮性,伸缩性,升级型、节点调用关系图)
什么是Dubbo(分布式服务框架+RPC远程调用解决服务+SOA服务治理方案)
Dubbo的由来(需要解决的问题:1、依赖管理 2、路由透明 3、服务治理)
主要是对Dubbo总体的介绍,让大家对Dubbo有一个总体的认识。首先介绍后台应用
架构的演进过程,从最初的JEE到现在的微服务架构都会介绍;然后简单介绍一下Dubbo,包
括它的发展历史、未来方向等;最后讲解Dubbo的总体大图,通过分层的方式讲解Dubb。的总
体架构,并介绍Dubbo的核心组件及总体流程
一、 Dubbo―高性能RPC通信框架(应用架构演进过程+ Dubbo 简介+Dubbo总体大图)
二、开发第一款Dubbo应用程序(配置开发环境+基于XML配置实现+编写Echo服务器+编写Echo客户端+基于注解实现+基于API实现+构建并运行)
三、Dubbo注册中心(注册中心概述+订阅/发布+缓存机制+重试机制+设计模式)
四、Dubbo扩展点加载机制(1加载机制概述+扩展点注解+ExtensionLoader的工作原理+扩展点动态编译的实现)
五、Dubbo启停原理解析(配置解析+服务暴露的实现原理+服务消费的实现原理+优雅停机原理解析)
六、Dubbo远程调用(Dubbo 调用介绍+编解码器原理+Telnet 调用原理+ChannelHandle)
七、Dubbo集群容错(容错机制的实现+Directory 的实现+路由的实现+负载均衡的实现+Merger的实现)
八、 Dubbo扩展点(RPC层扩展点+ Remote 层扩展点+其他扩展点)
九、Dubbo高级特性( Dubbo高级特性概述+参数回调+隐式参数+异步调用+泛化调用+上下文信息+Telnet 操作+Mock 调用+结果缓存)
十、Dubbo过滤器(Dubbo 过滤器概述+过滤器链初始化的实现原理+服务提供者过滤器的实现原理+消费者过滤器的实现原理)
十一、Dubbo注册中心扩展实践( etcd背景介绍+构建可运行的注册中心+扩展Transporter 实现+搭建etcd集群并在Dubbo中运行
Spring cloud清晰脑图大全:
基础知识(什么是微服务+与单体系统的区别+如何实施微服务+为什么选择Spring Cloud)
服务治理:Spring Cloud Eureka(服务治理+搭建服务注册中心+注册服务提供者+高可用注册中心+服务发现与消费+基础架构+服务治理机制+源码分析)
客户端负载均衡: Spring CloudRibbon(客户端负载均衡+RestTemplate详解+复杂均衡器自动化配置+服务容错保护: Spring CloudHystrix)
服务容错保护: Spring CloudHystrix(源码分析+断路器原理+依赖隔断+创建请求原理+命令名称、分组以及线程池划分)
声明式服务调用: Spring CloudFeign(Ribbon配置+Hystrix配置)
API 网关服务:Spring Cloud Zuul(路由详解+路劲匹配+Cookie与头信息+过滤器详解)
分布式配置中心: Spring CloudConfig(客户端配置映射+服务端详解)
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取
可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取