Dubbo项目入门 (2)

同xml配置的一样,需要先启动服务提供者

Dubbo项目入门

配置信息

配置信息主要包括3大块,注册中心、协议和schema配置

Dubbo项目入门

注册中心

注册中心总共有4个,如下

注册中心 简要说明 dubbo文档介绍
Multicast   不需要启动任何中心节点,只要广播地址一样,就可以互相发现。   链接  
zookeeper   Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用。   链接  
Redis   一个高效的 KV 存储服务器 , 从 2.1.0 版本开始支持 。   链接  
Simple   一个普通的 Dubbo 服务,可以减少第三方依赖,使整体通讯方式一致。   链接  
使用Redis注册中心

当使用Redis注册中心,需先把服务提供方和消费放的注册中心xml配置修改为下方

<dubbo:registry address="redis://localhost:6379"/>

对应的redis会产生如下数据

Dubbo项目入门

可以看到有两个key,分别对应服务提供者和消费者。两个key对应的数据类型为Hash,可以看到服务消费者key的数据如下

1) "consumer://192.168.79.170/com.learnDubbo.demo.DemoService?application=demo-consumer&category=consumers&check=false&dubbo=2.6.2&interface=com.learnDubbo.demo.DemoService&methods=sayHello&pid=14208&side=consumer&timestamp=1534389723130" 2) "1534389813690"

第一个为URL址,第二个为过期时间。
官网给的图如下

Dubbo项目入门

使用Zookeeper注册中心

当使用Zookeeper注册中心,需先把服务提供方和消费放的注册中心xml配置修改为下方

<dubbo:registry address="zookeeper://localhost:2181"/>

对应的Zookeeper会产生如下数据

Dubbo项目入门

下图是官网给出的数据图

Dubbo项目入门

有些出入,但大致还是相同的,多了configurators和routers。
当服务提供者启动时: 会创建对应的目录结构,例如我上面代码中的共用接口名为com.learnDubbo.demo.DemoService,就会创建 /dubbo/com.learnDubbo.demo.DemoService目录,然后在创建providers目录,再在providers目录下写入自己的 URL 地址。
当服务消费者启动时:会在/dubbo/com.learnDubbo.demo.DemoService目录创建 consumers目录,并在consumers目录写入自己的 URL 地址。
当监控中心启动时: 订阅 /dubbo/com.learnDubbo.demo.DemoService 目录下的所有提供者和消费者 URL 地址。

协议 协议 简要说明 dubbo文档介绍
dubbo   Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。   链接  
rmi   RMI 协议采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短连接和 JDK 标准序列化方式。   链接  
hessian   Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 Http 通讯,采用 Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现。   链接  
http   基于 HTTP 表单的远程调用协议,采用 Spring 的 HttpInvoker 实现。   链接  
webservice   基于 WebService 的远程调用协议,基于 Apache CXF 的 frontend-simple 和 transports-http 实现 。   链接  
thrift   当前 dubbo 支持的 thrift 协议是对 thrift 原生协议的扩展,在原生协议的基础上添加了一些额外的头信息,比如 service name,magic number 等。   链接  
memcached   基于 memcached实现的 RPC 协议。   链接  
redis   基于 Redis 实现的 RPC 协议。   链接  
rest   基于标准的Java REST API——JAX-RS 2.0(Java API for RESTful Web Services的简写)实现的REST调用支持   链接  

schema配置的涉及的东西有点多这里就不列出来了

参考资料:Dubbo官网

官网的介绍都很详细了,从官网中一般都能获取到你想到的信息。

有需要查看这篇博文的源码的可以点这里:Github地址

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfxgy.html