dubbo简介、maven构建步骤、框架说明

来源:互联网 发布:如何卸载linux系统 编辑:程序博客网 时间:2024/05/29 19:28

简介

官网:http://dubbo.io/
源码下载:https://github.com/alibaba/dubbo
发布包下载:http://repo1.maven.org/maven2/com/alibaba/dubbo/

DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容。

什么是RPC?

百度百科
这里写图片描述

通过Maven构建dubbo

dubbo的主要模块:
这里写图片描述

虽然阿里已经给我们打包好了核心框架的jar包,但在实际开发过程中,核心框架、管理控制台、简易监控中心、简易注册中心可能我们都需要用到,而且业务需求可能要修改dubbo源码,再次打包。基于以上原因我们需要构建dubbo。构建的过程还是有些讲究的,在此记录下maven构建的步骤,方便以后回顾。

源码:dubbo-dubbo-2.5.3(包含依赖hessian-lite、opensesame)

1、先导入编译依赖,再导入dubbo核心源码到Eclipse
这里写图片描述

2、安装hessian-lite到本地仓库
这里写图片描述

4、安装opensesame到本地仓库
这里写图片描述

5、构建dubbo
这里写图片描述

构建完成:

[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary:[INFO] [INFO] dubbo-parent ....................................... SUCCESS [  0.561 s][INFO] dubbo-common ....................................... SUCCESS [  7.344 s][INFO] dubbo-container .................................... SUCCESS [  0.004 s][INFO] dubbo-container-api ................................ SUCCESS [  1.150 s][INFO] dubbo-container-spring ............................. SUCCESS [  0.538 s][INFO] dubbo-container-jetty .............................. SUCCESS [  0.430 s][INFO] dubbo-container-log4j .............................. SUCCESS [  0.412 s][INFO] dubbo-container-logback ............................ SUCCESS [  0.645 s][INFO] dubbo-remoting ..................................... SUCCESS [  0.003 s][INFO] dubbo-remoting-api ................................. SUCCESS [  3.842 s][INFO] dubbo-remoting-netty ............................... SUCCESS [  0.903 s][INFO] dubbo-remoting-mina ................................ SUCCESS [  0.657 s][INFO] dubbo-remoting-grizzly ............................. SUCCESS [  1.027 s][INFO] dubbo-remoting-p2p ................................. SUCCESS [  0.725 s][INFO] dubbo-remoting-http ................................ SUCCESS [  0.524 s][INFO] dubbo-remoting-zookeeper ........................... SUCCESS [  0.890 s][INFO] dubbo-rpc .......................................... SUCCESS [  0.003 s][INFO] dubbo-rpc-api ...................................... SUCCESS [  1.772 s][INFO] dubbo-rpc-default .................................. SUCCESS [  1.593 s][INFO] dubbo-rpc-injvm .................................... SUCCESS [  0.474 s][INFO] dubbo-rpc-rmi ...................................... SUCCESS [  0.463 s][INFO] dubbo-rpc-hessian .................................. SUCCESS [  0.828 s][INFO] dubbo-rpc-http ..................................... SUCCESS [  0.751 s][INFO] dubbo-rpc-webservice ............................... SUCCESS [  0.880 s][INFO] dubbo-cluster ...................................... SUCCESS [  1.941 s][INFO] dubbo-registry ..................................... SUCCESS [  0.005 s][INFO] dubbo-registry-api ................................. SUCCESS [  1.311 s][INFO] dubbo-monitor ...................................... SUCCESS [  0.004 s][INFO] dubbo-monitor-api .................................. SUCCESS [  0.516 s][INFO] dubbo-filter ....................................... SUCCESS [  0.003 s][INFO] dubbo-filter-validation ............................ SUCCESS [  0.708 s][INFO] dubbo-filter-cache ................................. SUCCESS [  0.603 s][INFO] dubbo-registry-default ............................. SUCCESS [  0.509 s][INFO] dubbo-monitor-default .............................. SUCCESS [  0.916 s][INFO] dubbo-registry-multicast ........................... SUCCESS [  0.576 s][INFO] dubbo-config ....................................... SUCCESS [  0.002 s][INFO] dubbo-config-api ................................... SUCCESS [  1.284 s][INFO] dubbo-config-spring ................................ SUCCESS [  0.930 s][INFO] dubbo-rpc-thrift ................................... SUCCESS [  1.700 s][INFO] dubbo-rpc-memcached ................................ SUCCESS [  0.523 s][INFO] dubbo-rpc-redis .................................... SUCCESS [  0.914 s][INFO] dubbo-registry-zookeeper ........................... SUCCESS [  0.584 s][INFO] dubbo-registry-redis ............................... SUCCESS [  0.996 s][INFO] dubbo .............................................. SUCCESS [10:57 min][INFO] dubbo-simple ....................................... SUCCESS [  0.004 s][INFO] dubbo-registry-simple .............................. SUCCESS [16:55 min][INFO] dubbo-monitor-simple ............................... SUCCESS [ 18.007 s][INFO] dubbo-admin ........................................ SUCCESS [  9.432 s][INFO] dubbo-demo ......................................... SUCCESS [  0.004 s][INFO] dubbo-demo-api ..................................... SUCCESS [  0.729 s][INFO] dubbo-demo-provider ................................ SUCCESS [ 13.662 s][INFO] dubbo-demo-consumer ................................ SUCCESS [ 13.786 s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 29:29 min[INFO] Finished at: 2017-03-01T15:03:02+08:00[INFO] Final Memory: 78M/247M[INFO] ------------------------------------------------------------------------

Dubbo框架说明

背景

这里写图片描述

架构

这里写图片描述

调用关系:
1. 服务容器负责启动,加载,运行服务提供者。
2. 服务提供者在启动时,向注册中心注册自己提供的服务。
3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

快速入门示例

0 0
原创粉丝点击