课程介绍
课程目录
课程介绍
课程目录

讲师介绍

  • 讲师:阿甘(原名甘杰)<br/>从事互联网开发10年+,曾在BAT任职架构师(聚划算架构设计者)精于JVM、TCP大并发性能调优。目前在深圳一家三千人的互联网公司担任研发总监

  • 课程详情

    ----------------------------课程介绍---------------------------------------

    本课程主要是围绕一个小电商系统为案例,帮小伙伴讲解如何基于dubbo搭建分布式服务集群框架。
    本课程的看点:
    1.为什么要学习dubbo?
    2.MVC、RPC、SOA的架构区别,及如何演进?
    3.dubbo和spring cloud、ICE的区别?
    4.日常开发必须熟练掌握哪些常用的标签?
    5.为什么MVC要升级为SOA架构?
    6.为什么zookeeper集群的部署机器必须是奇数台?
    7.ZooKeeper集群如何快速安装?
    8.dubbo集群负载均衡如何快速搭建?
    9.dubbo如何管理服务,及服务管理如何安装?

     
    ----------------------------课件资料---------------------------------------
     
    技术探讨,请加QQ.群: 257206349(群名:《深度解剖dubbo源码》),免费获取dubbo技术资料哦

     
    ----------------------本课程的升级版本---------------------------------
     
    《深度解剖dubbo源码》地址:https://ke.qq.com/course/230238

    《深度解剖dubbo源码》知识点目录结构
        第一章:dubbo内核解剖
            1.dubbo的架构原理-探索
                dubbo 4大角色的关系图
            2.dubbo自己的SPI实现
                什么是JDK的SPi ?
                JDK的SPi有什么缺点 ?
                为什么dubbo要新写一套SPi ?
            3.SPI机制的adpative原理
                dubbo如何巧妙的运用装饰模式、工厂模式、动态代理模式 ?
            4.dubbo自己的IOC和AOP原理
                dubbo如何实现一个的IOC 反转控制模式 ?
                dubbo如何简单实现一个AOP?
            5.dubbo的动态编译
                dubbo 为什么需要动态编译 ?
                一个简单的javassist 的入门例子
                dubbo对javassist的封装
            6.dubbo 如何和spring 完美融合?
                一个简单的spring schema入门例子
                dubbo如何实现自定义的spring schema ?
        第二章:dubbo服务发布原理解剖
            1.服务发布-原理探索
                什么是服务的发布 ?
                微服务发布的5个动作
                什么是微服务的本地暴露?
                什么是微服务的远程暴露?
                本地暴露和远程暴露的区别?
            2.服务发布-netty的服务暴露
                一个netty的入门例子
                dubbo对netty的底层封装:boss、work线程池及心跳的封装
                dubbo对netty 设计了6层封装处理
            3.zookeeper的连接-创建-订阅
                一个zookeeper的入门例子
            4.dubbo如何连接zookeeper?
                dubbo 用zkClient进行连接封装
            5.dubbo如何创建zookeeper节点?
                zookeeper持久节点 和 临时节点的区别 ?
                dubbo什么时候创建持久节点?
                dubbo什么时候创建临时点?
            6.dubbo如何订阅zookeeper信息?
                dubbo监听到订阅信息缓存在哪里?
            7.服务发布-整体架构设计图
                对微服务暴露的总结
        第三章:dubbo服务引用原理解剖
            1.服务引用的设计原理
                什么是服务引用?
                spring的FactoryBean是用来干嘛的?dubbo怎么用它?
                服务引用的zookeeper的连接-创建-订阅
                创建服务端接口的代理InvocationHandler
            2.服务引用-整体架构设计图
                对微服务引用的总结
        第四章:dubbo集群容错的设计解剖
            1.集群容错之架构设计解剖
                解剖directory、router、cluster、loadbalance之间的关联关系
                画集群容错的整体架构图
            2.集群容错之directory目录
                什么是集群目录服务Directory?
                静态目录和动态目录的区别?
                directory目录的原理就是对list对象的维护
                zookeeper的节点信息变更刷新了directory目录
            3.集群容错之router路由规则
                什么是router服务路由 ?
                用一个灰度发布的例子,讲解了dubbo如何做应用隔离?
                条件路由和脚步路由的区别 ?
            4.集群容错之Cluster集群
                dubbo的集群有哪些算法?
                实验FailoverCluster失败转移算法
                实验FailfastCluster 快速失败算法
            5.集群容错之loadbalance负载均衡
                dubbo负载均衡如何配置?
                dubbo的负债均衡有哪些算法?
                RoundRobin算法的详细讲解
        第五章:dubbo服务降级设计解剖
            1.dubbo如何实现SOA的服务降级?
                什么是服务开关?
                什么是服务降级?
                dubbo如何实现服务降级的容错?
                dubbo如何实现服务降级的屏蔽?
                MockClusterInvoker的详细讲解
        第六章:dubbo网络通信架构解剖
            1.网络通信-consumer发送原理
                解剖《网络通信架构图》的consumer发送原理
            2.网络通信-provider的接收与发送原理
                解剖《网络通信架构图》的provider的接收发送原理
            3.网络通信-consumer的接收原理
                解剖netty的messageReceived
            4.如何把网络通信的IO异步变同步?
                基于netty NIO的 非阻塞 并行调用
                dubbo 的通信方式 有3类类型
                详细讲解:异步,有返回值
                详细讲解:异步,无返回值
                重点讲解:异步,变同步
                异步中,当前线程怎么让它“暂停,等结果回来后,再执行”?
                tcp通信方式的单工、半双工、全双工的区别?
                socket是一个全双工的通信方式,那么在多线程的情况下,如何知道那个返回结果对应原先那条线程的调用?
            5.dubbo的核心级概念-invoker
                什么是invoker?
                dubbo的invoker分为几类?
                本地执行类的Invoker
                远程通信执行类的Invoker
                多个远程通信执行类的Invoker聚合成集群版的Invoker
        第七章:dubbo网络通信编码解码解剖
            1.网络通信--编码解码之consumer请求编码 
                什么是编码?
                什么是解码?
                tcp 为什么会出现粘包、拆包的问题?
            2.网络通信--编码解码之 provider 请求解码 
                上篇:dubbo神奇的16字节,破解了tcp的粘包、拆包
            3.网络通信--编码解码之provider响应结果编码 
                中篇:dubbo神奇的16字节,破解了tcp的粘包、拆包
            4.网络通信--编码解码之consumer响应结果解码
                下篇:dubbo神奇的16字节,破解了tcp的粘包、拆包