Skip to content

leiwei2094/dubbo-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

dubbo-demo

这里有2个Demo,分别是

  1. Dubbox 2.8.4 + Spring3 + Dubbo协议
  2. Dubbox 2.8.4 + Spring3 + Hessian协议

两个Demo都可以成功运行。使用了gradle Gretty插件,提供了内嵌的Jetty容器,运行demo不用安装额外的Tomcat或jetty等servlet容器。

使用方法如下:
1. 运行Zookeeper
安装,配置Zookeeper,然后启动Zookeeper的server。Install, configure and sratr Zookeeper server
2. 运行Provoder
进入provider目录,执行gradle appRun。会启动web容器并运行应用。
3. 运行Consumer
进入consumer目录,执行gradle appRun
浏览器中访问http://localhost:8082/hellohttp://localhost:8082/user.其中/hello是传递简单String作为参数,/user是传递自定义类型User作为接口参数。

一些问题:

  1. 现在是在xml中一个个声明dubbo暴露的服务(dubbo:service)和依赖的远程引用(dubbo:reference)。这方式显然不好,最好是使用spring的自动扫描和自动装配。Dubbo提供了这样的annotation,比如@Service和@Reference。当使用的时候,出现了一些问题。客户端调用IHelloService的sayHello方法时,结果调用了远程服务IUserService的sayHello方法去了,抛出异常IUserService没有提供sayHello方法。
  2. 如果一个服务有部署多个实例,那么服务暴露的端口是不一样的。如何灵活配置。hessian的端口是要和web容器暴露的端口一致的。

========================================================

=======================================================

Dubbo or Dubbox

•Dubbo:Dubbo
•Dubbox:Dubbox

Dubbo Dubbox
Spring 版本 2 3
是否维护 no dangdang

Dubbo和Dubbox在配置方面是否有差异,2者兼容性如何?

服务治理

Zookeeper配置

RPC协议

  • Hession
  • HTTP
  • REST
  • Dubbo
协议 传输协议 数据格式 性能 跨平台/语言
Dubbo + Dubbo序列化 TCP 二进制
Dubbo + Hessian序列化 TCP 二进制

Admin

Dubbo提供了Admin的监控中心,研究它的使用。如何部署,能提供什么数据的监控。

配置管理

使用Zookeeper做配置管理
如何更Zookeeper中的数据,是否需要有一个配置管理界面可以管理更新数据,然后Zookeeer会将更改通知到各个Zookeeper节点。 Zookeeper节点接收到更新通知,节点所在的应用如何去使用新的数据。比如,如果应用只是在第一次启动时去读Zookeeper节点的数据,然后缓存。这样即使Zookeeper节点接收到通知,更新了数据,应用依然读的是缓存中的老数据,所以需要添加一个layer来管理这些数据的更新。

Resources

Dubbox-REST-Demo
dubbox-2.8.4-demo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published