大纲1.参数限流的原理和源码2.@SentinelResource注解的使用和实现1.参数限流的原理和源码(1)参数限流规则ParamFlowRule的配置Demo(2)ParamFlowSlot根据参数限流规则验证请求(1)参数限流规则ParamFlowRule的配置Demo一.参数限流的应用场景二.参数限流规则的属性三.参数限流规则的配置Demo一.参数限流的应用场景传统的流量控制,一般是通过
大纲1.DegradeSlot实现熔断降级的原理与源码2.Sentinel数据指标统计的滑动窗口算法1.DegradeSlot实现熔断降级的原理与源码(1)熔断降级规则DegradeRule的配置Demo(2)注册熔断降级监听器和加载熔断降级规则(3)DegradeSlot根据熔断降级规则对请求进行验证(1)熔断降级规则DegradeRule的配置Demo首先熔断降级规则的应用场景有如下两种:场景
大纲1.Guava提供的RateLimiter限流使用示例2.Guava提供的RateLimiter简介与设计3.继承RateLimiter的SmoothBursty源码4.继承RateLimiter的SmoothWarmingUp源码1.Guava提供的RateLimiter限流使用示例(1)拦截器示例(2)AOP切面示例(1)拦截器示例一.pom文件中引入Guava的依赖包<!-- ht
大纲1.FlowSlot根据流控规则对请求进行限流2.FlowSlot实现流控规则的快速失败效果的原理3.FlowSlot实现流控规则中排队等待效果的原理4.FlowSlot实现流控规则中Warm Up效果的原理1.FlowSlot根据流控规则对请求进行限流(1)流控规则FlowRule的配置Demo(2)注册流控监听器和加载流控规则(3)FlowSlot根据流控规则对请求进行限流(1)流控规则F
大纲1.NodeSelectorSlot构建资源调用树2.LogSlot和StatisticSlot采集资源的数据3.Sentinel监听器模式的规则对象与规则管理4.AuthoritySlot控制黑白名单权限5.SystemSlot根据系统保护规则进行流控1.NodeSelectorSlot构建资源调用树(1)Entry的处理链的执行入口(2)NodeSelectorSlot的源码(3)Cont
大纲1.Sentinel底层的核心概念2.Sentinel中Context的设计思想与源码实现3.Java SPI机制的引入4.Java SPI机制在Sentinel处理链中的应用5.Sentinel默认处理链ProcessorSlot的构建1.Sentinel底层的核心概念(1)资源和规则(2)Context(3)ProcessorSlot(4)Node(1)资源和规则一.什么是资源、规则和En
大纲1.Sentinel流量治理框架简介2.Sentinel源码编译及Demo演示3.Dashboard功能介绍4.流控规则使用演示5.熔断规则使用演示6.热点规则使用演示7.授权规则使用演示8.系统规则使用演示9.集群流控使用演示1.Sentinel流量治理框架简介(1)与Sentinel相关的问题(2)什么是流量治理(3)流量治理的手段(4)Sentinel的核心功能(5)总结(1)与Sent
大纲1.两阶段提交Two-Phase Commit(2PC)2.三阶段提交Three-Phase Commit(3PC)3.ZAB协议算法4.ZAB协议与Paxos算法5.zk的数据存储原理之内存数据6.zk的数据存储原理之事务日志7.zk的数据存储原理之数据快照8.zk的数据存储原理之数据初始化和数据同步流程1.两阶段提交Two-Phase Commit(2PC)(1)数据库事务通过undo和r
大纲1.zk是如何实现数据一致性的(1)数据一致性分析(2)实现数据一致性的广播模式(3)实现数据一致性的恢复模式2.zk是如何进行Leader选举的(1)服务器启动时的Leader选举(2)服务器运行时的Leader选举(3)Leader选举的算法设计(4)Leader选举的实现细节1.zk是如何实现数据一致性的(1)数据一致性分析(2)实现数据一致性的广播模式(3)实现数据一致性的恢复模式zk
大纲1.服务器的请求处理链(1)Leader服务器的请求处理链一.PrepRequestProcessor请求预处理器二.ProposalRequestProcessor事务投票处理器三.SyncRequestProcessor事务日志处理器四.AckRequestProcessor投票反馈处理器五.CommitProcessor事务提交处理器六.ToBeAppliedRequestProcess
大纲1.创建会话(1)客户端的会话状态(2)服务端的会话创建(3)会话ID的初始化实现(4)设置的会话超时时间没生效的原因2.分桶策略和会话管理(1)分桶策略和过期队列(2)会话激活(3)会话超时检查(4)会话清理1.创建会话(1)客户端的会话状态(2)服务端的会话创建(3)会话ID的初始化实现(4)设置的会话超时时间没生效的原因会话是zk中最核心的概念之一,客户端与服务端的交互都离不开会话的相关
大纲1.单机版的zk服务端的启动过程(1)预启动阶段(2)初始化阶段2.集群版的zk服务端的启动过程(1)预启动阶段(2)初始化阶段(3)Leader选举阶段(4)Leader和Follower启动阶段1.单机版的zk服务端的启动过程(1)预启动阶段(2)初始化阶段单机版zk服务端的启动,主要分为两个阶段:预启动阶段和初始化阶段,其启动流程图如下:接下来介绍zk服务端的预启动阶段(启动管理)与初始
大纲1.ZooKeeper如何进行序列化2.深入分析Jute的底层实现原理3.ZooKeeper的网络通信协议详解4.客户端的核心组件和初始化过程5.客户端核心组件HostProvider6.客户端核心组件ClientCnxn7.客户端工作原理之会话创建过程1.ZooKeeper如何进行序列化(1)什么是序列化以及为什么要进行序列化操作(2)ZooKeeper中的序列化方案(3)如何使用Jute实
大纲1.ZooKeeper的数据模型、节点类型与应用(1)数据模型之树形结构(2)节点类型与特性(持久 + 临时 + 顺序 )(3)节点的状态结构(各种zxid + 各种version)(4)节点的版本(version + cversion + aversion)(5)使用ZooKeeper实现锁(悲观锁 + 乐观锁)2.发布订阅模式:用Watcher机制实现分布式通知(1)Watcher机制是如
大纲1.基于Curator进行基本的zk数据操作2.基于Curator实现集群元数据管理3.基于Curator实现HA主备自动切换4.基于Curator实现Leader选举5.基于Curator实现分布式Barrier6.基于Curator实现分布式计数器7.基于Curator实现zk的节点和子节点监听机制8.基于Curator创建客户端实例的源码分析9.Curator在启动时是如何跟zk建立连接
大纲1.zk实现数据发布订阅2.zk实现负载均衡3.zk实现分布式命名服务4.zk实现分布式协调(Master-Worker协同)5.zk实现分布式通信6.zk实现Master选举7.zk实现分布式锁8.zk实现分布式队列和分布式屏障1.zk实现数据发布订阅(1)发布订阅系统一般有推模式和拉模式(2)zk采用了推拉相结合来实现发布订阅(3)使用zk来实现发布订阅总结(4)zk原生实现分布式配置的示
大纲1.zk单机模式是如何启动的2.zk集群是如何部署和启动的3.zk集群部署要用什么样配置的机器4.如何合理设置zk的JVM参数以及内存大小5.zk配置的核心参数之tickTime、dataDir和dataLogDir6.影响Leader与Follower组成集群的两个核心参数之initLimit和syncLimit7.zk什么时候进行数据快照(snapCount = 10000)8.一台机器上
大纲1.zk的使用场景2.zk主要会被用于那些系统3.为什么在分布式系统架构中需要使用zk集群4.zk分布式系统具有哪些特点5.zk集群机器的三种角色6.客户端与zk之间的长连接和会话7.zk的数据模型znode和节点类型8.zk最核心的Watcher监听回调机制9.ZAB协议的主从同步机制和崩溃恢复机制10.ZAB协议流程之集群启动-数据同步-崩溃恢复11.采用2PC两阶段提交思想的ZAB消息广
大纲1.分布式系统特点2.分布式系统的理论3.两阶段提交Two-Phase Commit(2PC)4.三阶段提交Three-Phase Commit(3PC)5.Paxos岛的故事来对应ZooKeeper6.Paxos算法推导过程7.Paxos协议的核心思想8.ZAB算法简述1.分布式系统特点(1)分布性(2)对等性(3)并发性(4)缺乏全局时钟(5)故障随时会发生分布式系统的特点:分布性、对等性
大纲1.什么是时间轮2.HashedWheelTimer是什么3.HashedWheelTimer的使用4.HashedWheelTimer的运行流程5.HashedWheelTimer的核心字段6.HashedWheelTimer的构造方法7.HashedWheelTimer添加任务和执行任务8.HashedWheelTimer的完整源码9.HashedWheelTimer的总结10.Hashe
大纲1.Netty的两大性能优化工具2.FastThreadLocal的实现之构造方法3.FastThreadLocal的实现之get()方法4.FastThreadLocal的实现之set()方法5.FastThreadLocal的总结6.Recycler的设计理念7.Recycler的使用8.Recycler的四个核心组件9.Recycler的初始化10.Recycler的对象获取11.Rec
大纲1.读数据入口2.拆包原理3.ByteToMessageDecoder解码步骤4.解码器抽象的解码过程总结5.Netty里常见的开箱即用的解码器6.writeAndFlush()方法的大体步骤7.MessageToByteEncoder的编码步骤8.unsafe.write()写队列9.unsafe.flush()刷新写队列10.如何把对象变成字节流写到unsafe底层1.读数据入口当客户端C
大纲9.Netty的内存规格10.缓存数据结构11.命中缓存的分配流程12.Netty里有关内存分配的重要概念13.Page级别的内存分配14.SubPage级别的内存分配15.ByteBuf的回收9.Netty的内存规格(1)4种内存规格(2)内存申请单位(1)4种内存规格一.tiny:表示从0到512字节之间的内存大小二.small:表示从512字节到8K范围的内存大小三.normal:表示从
大纲1.关于ByteBuf的问题整理2.ByteBuf结构以及重要API3.ByteBuf的分类4.ByteBuf分类的补充说明5.ByteBuf的主要内容分三大方面6.内存分配器ByteBufAllocator7.ByteBufAllocator的两大子类8.PoolArena分配内存的流程1.关于ByteBuf的问题整理问题一:Netty的内存类别有哪些?答:ByteBuf可以按三个维度来进行
大纲1.Pipeline和Handler的作用和构成2.ChannelHandler的分类3.几个特殊的ChannelHandler4.ChannelHandler的生命周期5.ChannelPipeline的事件处理6.关于ChannelPipeline的问题整理7.ChannelPipeline主要包括三部分内容8.ChannelPipeline的初始化9.ChannelPipeline添加C
大纲1.关于Netty客户端连接接入问题整理2.Reactor线程模型和服务端启动流程3.Netty新连接接入的整体处理逻辑4.新连接接入之检测新连接5.新连接接入之创建NioSocketChannel6.新连接接入之绑定NioEventLoop线程7.新连接接入之注册Selector和注册读事件8.注册Reactor线程总结9.新连接接入总结1.关于Netty客户端连接接入问题整理一.Netty
大纲5.NioEventLoop的执行总体框架6.Reactor线程执行一次事件轮询7.Reactor线程处理产生IO事件的Channel8.Reactor线程处理任务队列之添加任务9.Reactor线程处理任务队列之执行任务10.NioEventLoop总结5.NioEventLoop的执行总体框架(1)Reactor线程所做的三件事情(2)处理多久IO事件就执行多久任务(3)NioEventL
大纲1.关于NioEventLoop的问题整理2.理解Reactor线程模型主要分三部分3.NioEventLoop的创建4.NioEventLoop的启动1.关于NioEventLoop的问题整理一.默认下Netty服务端起多少线程及何时启动?答:默认是2倍CPU核数个线程。在调用EventExcutor的execute(task)方法时,会判断当前线程是否为Netty的Reactor线程,也就
大纲1.服务端启动整体流程及关键方法2.服务端启动的核心步骤3.创建服务端Channel的源码4.初始化服务端Channel的源码5.注册服务端Channel的源码6.绑定服务端端口的源码7.服务端启动流程源码总结1.服务端启动整体流程及关键方法(1)关键方法(2)整体流程(1)关键方法一.EventLoopGroup服务端的线程模型外观类,Netty的线程模型是事件驱动的。也就是说,这个线程要做
大纲1.私有协议介绍2.私有协议的通信模型3.私有协议栈的消息定义4.私有协议栈链路的建立5.私有协议栈链路的关闭6.私有协议栈的心跳机制7.私有协议栈的重连机制8.私有协议栈的重复登录保护9.私有协议栈核心的ChannelHandler10.私有协议栈的客户端和服务端11.私有协议栈的Packet数据包与编解码12.私有协议栈的会话ID处理器13.私有协议栈的握手处理器14.私有协议栈的链路保活
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号