dubbo源码解析(一):构建dubbo源码

学习dubbo源码好处

  • 提高soa微服务架构理解

    • RPC的SOA服务治理是dubbo首先提出来的(国内),学习架构原理更能深度的理解SOA思想
  • 提高Java底层理解还有设计模式

    • tcp的单工,半双工,全双工,编码,解码,拆包,粘包,netty网络框架通信,nio,线程池,boss线程,work线程,集群负载均衡loadbalace,cluster,router,zk

下载dubbo最新源码(tag:2.8.4)

  • dubbo项目托管在github 上面

    1
    2
    3
    git clone https://github.com/dangdangdotcom/dubbox

    git checkout -b dubbo-2.8.4 dubbo-2.8.4
    • 构建环境

    • maven3.5.0

    • java8

    • idea

  • 直接导入idea中

    codeStyle在idea中的配置

  • 命令行构建

    1
    2
    cd dubbo
    mvn clean package -DskipTests
  • dubbo源码包介绍

    • dubbo-admin dubbo控制台管理项目
    • dubbo-cluster dubbo集群实现
    • dubbo-common dubbo公共类或者工具
    • dubbo-config dubbo配置实现
    • dubbo-container dubbo容器:spring容器,jetty,日记实现
    • dubbo-demo 官网提供的demo
    • dubbo-filter dubbo缓存和验证
    • dubbo-registry dubbo核心注册中心实现,zk,redis,广播,直连
    • dubbo-monitor 监控模块,统计服务调用次数和时间,调用链跟踪服务
    • dubbo-remoting dubbo远程通讯实现
    • dubbo-rpc 远程调用模块
    • dubbo-test dubbo一些测试