初识Dubbo 系列之4-Dubbo 依赖

依赖

必需依赖

  • JDK1.5+
理论上Dubbo能够仅仅依赖JDK,不依赖于不论什么三方库执行,仅仅需配置使用JDK相关实现策略。

缺省依赖

通过mvn dependency:tree > dep.log命令分析,Dubbo缺省依赖下面三方库:

[INFO] +- com.alibaba:dubbo:jar:2.1.2:compile

[INFO] |  +- log4j:log4j:jar:1.2.16:compile

[INFO] |  +- org.javassist:javassist:jar:3.15.0-GA:compile

[INFO] |  +- org.springframework:spring:jar:2.5.6.SEC03:compile

[INFO] |  +- commons-logging:commons-logging:jar:1.1.1:compile

[INFO] |  \- org.jboss.netty:netty:jar:3.2.5.Final:compile

这里全部依赖都是换照Dubbo缺省配置选的。这些缺省值是基于稳定性和性能考虑的。

  • log4j.jar和commons-logging.jar日志输出包。

    • 能够直接去掉。dubbo本身的日志会自己主动切换为JDK的java.util.logging输出。
    • 但假设其他三方库比方spring.jar间接依赖commons-logging。则不能去掉。
  • javassist.jar 字节码生成。

    • 假设<dubbo:provider proxy="jdk" />或<dubbo:consumer proxy="jdk" />,以及<dubbo:application compiler="jdk" />,则不须要。
  • spring.jar 配置解析。
    • 假设用ServiceConfig和ReferenceConfig的API调用。则不须要。
  • netty.jar 网络传输。

    • 假设<dubbo:protocol server="mina"/>或<dubbo:protocol server="grizzly"/>。则换成mina.jar或grizzly.jar。
    • 假设<protocol name="rmi"/>,则不须要。

可选依赖

下面依赖,在主动配置使用对应实现策略时用到,需自行增加依赖。

  • mina: 1.1.7
  • grizzly: 2.1.4
  • httpclient: 4.1.2
  • hessian_lite: 3.2.1-fixed
  • xstream: 1.4.1
  • fastjson: 1.1.8
  • zookeeper: 3.3.3
  • jedis: 2.0.0
  • xmemcached: 1.3.6
  • jfreechart: 1.0.13
  • hessian: 4.0.7
  • jetty: 6.1.26
  • hibernate-validator: 4.2.0.Final
  • zkclient: 0.1
  • curator: 1.1.10
  • cxf: 2.6.1
  • thrift: 0.8.0

JEE:

  • servlet: 2.5
  • bsf: 3.1
  • validation-api: 1.0.0.GA
  • jcache: 0.4
时间: 2024-08-11 09:44:17

初识Dubbo 系列之4-Dubbo 依赖的相关文章

dubbo系列四、dubbo启动过程源码解析

一.代码准备 1.示例代码 参考dubbo系列二.dubbo+zookeeper+dubboadmin分布式服务框架搭建(windows平台) 2.简单了解下spring自定义标签 https://www.jianshu.com/p/16b72c10fca8 Spring自定义标签总共可以分为以下几个步骤 定义Bean 标签解析生成接收配置的POJO. 定义schema文件,定义自定义标签的attr属性 定义解析类parser,遇到自定义标签如何解析. 定义命名空间处理类namespaceSup

dubbo系列二、dubbo+zookeeper+dubboadmin分布式服务框架搭建(windows平台)

一.zookeeper配置中心安装 1.下载安装包,zookeeper-3.4.6.tar.gz 2.解压安装包,修改配置文件 参考zookeeper-3.4.6/conf/zoo_sample.cfg文件,同步录下建立zoo.cfg,配置如下: # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can tak

dubbo系列七、dubbo @Activate 注解使用和实现解析

一.用法 Activate注解表示一个扩展是否被激活(使用),可以放在类定义和方法上,dubbo用它在spi扩展类定义上,表示这个扩展实现激活条件和时机. @Activate(group = Constants.PROVIDER) public class DrpcServerInterceptor implements Filter{ private final ServerRequestInterceptor serverRequestInterceptor; private final S

初识Dubbo 系列之7-Dubbo 示例

示例 想完整的运行起来,请参见:快速启动 (+),这里只列出各种场景的配置方式 以下示例全部使用基于Spring的Xml配置 (+)作为参考,如果不想使用Spring,而希望通过API的方式进行调用,请参见:API配置 (+) 启动时检查 (+) (#) Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true. 如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则

初识Dubbo 系列之6-Dubbo 配置

配置 Xml配置 配置项说明 详细配置项,请参见:配置参考手册 (+) API使用说明 如果不想使用Spring配置,而希望通过API的方式进行调用,请参见:API配置 (+) 配置使用说明 想知道如何使用配置,请参见:快速启动 (+) 示例: provider.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/s

初识Dubbo 系列之9-Dubbo 负载均衡

负载均衡 (+) (#) 在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用. 可以自行扩展负载均衡策略,参见:负载均衡扩展 Random LoadBalance 随机,按权重设置随机概率. 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重. RoundRobin LoadBalance 轮循,按公约后的权重设置轮循比率. 存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久

【dubbo系列】dubbo与Sentinel整合篇

在阿里巴巴中间件公众号了解的Sentinel框架,sentinel字面意思为哨兵,开始以为是redis的sentinel哨兵,了解后才发现并不是.微服务流行,相信很多团队拆分服务,进行服务和服务之间调用,Sentinel是分布式架构体系中流量控制框架,主要以流量为切入点,熔断降级,系统保护等功能额,来保护系统稳定性. Sentinel简要介绍:流量控制功能:提供服务负载能力有限,为防止某个服务流量过大,导致拖垮了整个系统的其它服务,可以对其接口流量监控,对其进行处理.sentinel具体的怎么进

Dubbo 系列(07-3)集群容错 - 负载均衡

目录 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 1.1 负载均衡算法 1.2 继承体系 2. 源码分析 2.1 AbstractLoadBalance 2.2 RandomLoadBalance 2.3 LeastActiveLoadBalance 2.4 ConsistentHashLoadBalance Dubbo 系列(07-3)集群容错 - 负载均衡 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 相关

Dubbo 系列(07-5)集群容错 - Mock

Dubbo 系列(07-5)集群容错 - Mock [toc] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 相关文档推荐: Dubbo 实战 - 服务降级 Dubbo 实战 - 本地伪装 Dubbo 实战 - 本地存根 Dubbo 的集群容错中默认会组装 MockClusterWrapper,它实现了 Dubbo 的服务降级和本地伪装. 1.1 服务降级 服务降级配置方式,更多参考官网 Dubbo 实战 - 服务降级 <dubbo:reference

SpringBoot系列之集成Dubbo的方式

本博客介绍Springboot框架集成Dubbo实现微服务的3种常用方式,对于Dubbo知识不是很熟悉的,请先学习我上一篇博客:SpringBoot系列之集成Dubbo实现微服务教程,本博客只是对上篇博客的补充,上篇博客已经介绍过的就不重复介绍 还是使用上篇博客的例子,业务场景: 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址: 我们现在 需要创建两个服务模块进行测试 模块 功能 订单服务模块 创建订单等 用户服务模块 查询用户地址等 测试预期结果: 订单服务web模块在A服务器,