论坛首页 Java企业应用论坛

阿里巴巴Dubbo分布式服务框架已开源

浏览 266683 次
该帖已经被评为精华帖
作者 正文
   发表时间:2011-10-23  
分布式事务这块是怎么处理的?
比如说一个应用要生成订单,同时增加用户积分这两个操作调用不同的service怎样保证在同一个事务中?
谢谢
0 请登录后投票
   发表时间:2011-10-23  
顶梁飞一下,虽然目前用不到
0 请登录后投票
   发表时间:2011-10-23  
javatar 写道
Arden 写道
但是来个问题dubbo的rpc服务如何让其它语言如:php,ruby,python等语言调用,支持多语言客户端?

因公司主要采用Java开发,近期会增加C/C++支持,但其它语言暂不会支持。


PHP 也是很重要的呀。。。

不过C/C++出来了, PHP也就不远了。。

治理部分可以给出一些二次开发的指导(虽然不开源)
0 请登录后投票
   发表时间:2011-10-23   最后修改:2011-10-23
ZHH2009 写道
javatar 写道
san_yun 写道
HSF之前是和jboss绑定的,现在不知道如何。dubbo简单易用!希望dubbo能把文档和社区推广做好,加油!!

HSF与JBoss绑定,有一定好处,就是不用在应用中依赖HSF的jar包,这样对统一升级HSF版本很有帮助,Dubbo采用直接嵌入应用,比较轻便,没有孰好孰坏,都是想做到更好的使用方式。



Dubbo不依赖任何第三方jar包吗?

如果Dubbo要依赖第三方jar包,比如common-logging或者xercesImpl,
应用A要用Dubbo,应用A也直接依赖common-logging或者xercesImpl,

Dubbo依赖的common-logging或者xercesImpl与应用A依赖的common-logging或者xercesImpl不兼容,
无论选择哪个要么应用A直接出问题要么Dubbo出问题。

Dubbo不基于OSGi了,那这些依赖冲突问题怎么解决呢?

PS: HSF现在不与JBoss绑定,在Tomcat/Jetty上都开发了集成模块。


Dubbo是依赖了少量三方库的。(从代码工程的POM可以看到)。
精简的三方库依赖是Dubbo2(这次开源的Dubbo版本)的一个目标,所以相对Dubbo1是做了专门的清理和调整。
Dubbo2是网站应用众多依赖中的一个,精简的三方库可以保证Dubbo更可靠的运行,尽量避免三方库版本调整的影响。

你刚才说三方库冲突的问题,目前是采用有问题就单独解决的策略。
一方面,依赖三方库比较简单,另一方面尽量协调成一致版本,这样就不太会冲突的问题了。

PS: 楼主还是QCon回家路上,我先到家了,就回答回答,:)
0 请登录后投票
   发表时间:2011-10-23   最后修改:2011-10-23
godson_2003 写道
安全怎么解决啊?随便一个消费者就能来使用么?


目前是可以公司正在使用的注册中心上可以设置消费者的【黑名单】,这样注册中心不会向这个消费者推送可用的服务提供者列表,也就不能调用服务了。

PS:
这个问题其实可以算是【服务治理】的功能,安全可能会更多关注些认证加密的内容
类似的在使用的功能还有:
1. 服务提供者的黑名单
2. 注册中心可以设置路由:比如 哪个IP可以消费哪些IP的服务,某个服务的某个方法只访问某几台机器,等等
0 请登录后投票
   发表时间:2011-10-23   最后修改:2011-10-23
lggege 写道
问LZ

你们是以何种策略去决定这次的Provider提供的服务的版本号是多少、或者说如何确定版本号该升级了?

以及Cousumer如何决定我该使用哪个版本号的服务呢?


Version是Dubbo的服务的核心属性。也就是说,在提供者暴露服务 以及 消费者引用服务的时候,是要给出服务版本号(Version)的。服务升级后,Provider使用新版本暴露。Consumer使用新版本引用。
# Dubbo的服务的核心属性还有 服务名。这些可以从Dubbo的代码看到。

当然这样严格的约定策略也会带来一些问题,如:
1. 繁琐版本配置
2. Consumer要修改Version才能使用新版本Provider。
...

这些问题正着手优化和解决,如Consumer配置策略,自动使用最近版本。
# 可以让注册中心把最新版本推送给Consumer,注册中心是知道所以服务的情况的。
0 请登录后投票
   发表时间:2011-10-23   最后修改:2011-10-23
yanwt 写道
分布式事务这块是怎么处理的?
比如说一个应用要生成订单,同时增加用户积分这两个操作调用不同的service怎样保证在同一个事务中?
谢谢


Dubbo目前还没有处理“分布式事务”的问题。这一块在计划和讨论中。

Dubbo可以对整个Invoke有Filter的扩展点,从而对整个调用过程的控制。
事务控制可以从Dubbo外部由第三方加入。

0 请登录后投票
   发表时间:2011-10-23   最后修改:2011-10-24
多谢各位的关注,多谢鼎爷的及时回答,鼎爷也是Dubbo的核心开发人员,大家有问题,也可以直接问他,顺便说一下,Dubbo共有五位开发人员:梁飞李鼎刘超刘昊旻陈雷

xiaoyu 写道
治理部分可以给出一些二次开发的指导(虽然不开源)


服务治理,我们也是根据公司的实施情况,按需处理的,下面两张图,可以作为参考:

服务治理生命周期和软件的生命周期类似:


正在做的部分服务治理功能一览:


  • 大小: 45 KB
  • 大小: 120.7 KB
0 请登录后投票
   发表时间:2011-10-23  
附件为钱霄在QCon上讲服务框架的PPT,有兴趣的朋友可以看看。
0 请登录后投票
   发表时间:2011-10-23  
dubbo在阿里巴巴内部广泛使用,目前我们团队也在使用。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics