dubbo是阿里巴巴开源SOA服务治理方案的核心框架。自2011年开源以后,已被许多非阿里系公司使用。
dubbo使用java开发,可以使用zookeeper作为注册中心(dubbo有一个简单的注册中心实现,但不支持集群,就是利用map来存储服务地址),dubbo本身并不是可以独立运行的服务,而是一个普通的Java应用框架。使用dubbo框架开发的应用系统可以称作dubbo应用。dubbo服务器的说法可能容易产生误解。
与持久层框架hibernate,控制层框架spring这样的java框架类似,dubbo是一种Java语言环境特有的分布式服务框架,目前没有.net版本。
Java应用程序通过调用dubbo.jar中的功能使自身的接口成为一个RPC远程服务,dubbo中的“接口”概念指的是java语言特有的“interface”类型。
在Java语言中流行面向接口编程的概念,接口中只有方法的声明而没有具体实现,具体实现由接口的子类完成。
这样Java应用通过接口的不同子类,实现功能的可扩展性。使用接口的开发者只需关心自己的逻辑,而无需关心接口的具体实现。普通应用的“interface”只能由该应用自身来调用。
接口如下:
packagecom.jinbin.service.customer; publicinterface CustomerService { public StringgetName(); }接口子类如下:
publicclassCustomerServiceImpl implements CustomerService{ @Override public StringgetName() { System.out.print("我打印"); return"打印结果"; } }而使用dubbo框架开发的应用可以将自身的“interface”提供给其他应用直接使用。
<!--使用zookeeper注册中心暴露服务地址 --> <dubbo:registryaddress="zookeeper://127.0.0.1:2181"/> <!--声明需要暴露的服务接口 --> <dubbo:serviceinterface="com.jinbin.service.customer.CustomerService"ref="demoService"/>当其他java应用通过调用dubbo.jar连接远程dubbo应用的RPC服务以后,根据配置,该应用创建和使用的本地interface类,实际上都指向远程同名的RPC服务。这样所有的远程调用都被隐藏起来,开发者使用本地创建的interface,无需考虑具体实现,更无需考虑是本地实现的还是远程实现的。
白话Dubbo——Dubbo框架说明与当当网Duboox REST
原文地址:http://blog.csdn.net/dreamcode/article/details/45312561