DUBBO

来源:互联网 发布:计算机二级所用软件 编辑:程序博客网 时间:2024/05/11 21:33

网站 http://dubbo.io/

概观

Dubbo |dʌbəʊ| 是一个高性能,基于Java的RPC框架,由阿里巴巴开源。和许多RPC系统一样,dubbo基于定义一个服务的思想,指定可以通过参数和返回类型远程调用的方法。在服务器端,服务器实现这个接口并运行一个dubbo服务器来处理客户端调用。在客户端,客户端有一个存根,提供与服务器相同的方法。

RPC是什么?远程过程调用协议
https://baike.so.com/doc/3378073-3556305.html

三个关键功能:
1、基于接口的远程调用
2、容错和负载均衡
3、自动服务注册与发现

Dubbo使用方式

1、Main函数的生产者,消费者。
1.1适用于纯后台服务集群
1.2全部采用长连接
1.3启动方式:com.alibaba.dubbo.container.Main
1.4默认加载 META-INF/spring/*.xml

2、java application 与 Tomcat 生产者,消费者
2.1适用于大型Web应用拆分服务
2.2后台Main方法提供服务与tomcat Web应用消费者相结合
2.3用web.xml解析所有的xml,加载dubbo

3、xml配置与代码配置
生产者:
xml:

<!-- 使用multicast广播注册中心暴露服务地址--><dubbo:registry address="multicast://224.5.6.7:1234" /><!--<dubbo:registry address="zookeeper://127.0.0.1:2183" />--><!-- 用dubbo协议在20880端口暴露服务 --><dubbo:protocol name="dubbo" port="20881" threadpool="fixed" threads="5"/><!-- 声明需要暴露的服务接口 --><dubbo:service interface="com.tydic.dubbo.DemoService" ref="demoService"  />

消费者xml

<dubbo:application name="say-hello-app"  /><!-- 使用multicast广播注册中心暴露服务地址--><dubbo:registry address="multicast://224.5.6.7:1234" /><!--<dubbo:registry address="zookeeper://127.0.0.1:2183" />--><!-- 声明需要远程调用的服务接口 --><dubbo:reference  id="demoService"  interface="com.tydic.dubbo.DemoService" timeout="5000"/>

我进行了第三种方式的实例使用。
配置与 http://dubbo.io/中快速启动基本相同。