前些日子,他妈的实在闲的慌,于是跑去质问老总,还让不让人干了。
老总有些错愕,投来惊异带着些赞许的目光,随后扔给我一本书 收获不止Oracle,很新,我至今舍不得翻开(不过后面还是不得不花了一个星期把他KO了。),同时让我自己去研究dubbo这个我第一次听说的所谓的分布式服务框架,不喜欢也不讨厌,所以就看了起来,就当积累吧。。。
首先,按照我的理解,介绍下dubbo,其实也没什么太深的家世,阿狸的一个开放框架,解决访问量大造成系统崩溃或者性能下降的问题。
dubbo的结构成员,注册中心registry,服务提供者provider,消费者consumer,监听monitor
provider:暴露服务提供方提供的服务。
consumer:调用远程服务的消费者。
registry:提供服务注册和服务发现的注册中心,他妈的就一个拉皮条的。
monitor:监听中心,负责搜集一些调用时间和次数信息。
申明下,dubbo框架和spring框架是可以无缝结合的,所以我们下面可以随心所欲的再spring下的配置文件中配置各种需要的信息。
这里说说健壮性,因为看了材料对健壮性还是看懂 了的,其他的都他妈的太深奥,有兴趣的自己去看。
何为健壮性,说白了就是不容易一次性死掉。以上的四个成员组合起来为我们提供服务,除非所有的服务提供者都宕掉,否则还是能继续为消费者提供服务。
下面说下怎么使用:
首先是配置,其实一直都是在配置上。
关于服务器端的配置,提供者需要在注册中心注册所提供的服务,并且暴露提供服务的接口。
-consult.xml中配置
服务提供者的应用名:
<
dubbo:application
name
=
"comvee-consult"
/>
暴露服务中的注册地址:
<
dubbo:registry
address
=
"zookeeper://127.0.0.1:2181"
/>
暴露服务的端口号:
<
dubbo:protocol
name
=
"dubbo"
port
=
"8075"
/>
暴露服务的接口:
<dubbo:service interface=”com.comvee.question.service.QuestionServiceI”
ref=”questionService” actives=”100″ timeout=”20000″ retries=”0″/>
<dubbo:service interface=”com.comvee.member.service.MemberServiceI”
ref=”memberService” actives=”100″ timeout=”20000″ retries=”0″/>
以上是服务端的dubbo文件配置,客户端也需要配置相应的信息来获取需要的服务。
<dubbo:application name=”consult-consumer”/>
<dubbo:registry address=”zookeeper://127.0.0.1:2181″></dubbo:registry>
<dubbo:monitor protocol=”registry”/>
<dubbo:reference id=”questionService” timeout=”20000″ retries=”0″
interface=”com.comvee.question.service.QuestionServiceI”/>
<dubbo:reference id=”memberService” timeout=”20000″ retries=”0″
interface=”com.comvee.member.service.MemberServiceI” />
<context:component-scan base-package=”com.comvee.base,com.comvee.question.controller,com.comvee.member.controller,com.comvee.common” />
看到了没配置就他妈的这么简单明了,不用再说了吧,需要强调的是配置信息分别在服务端和客户端的.xml文件中配置,也可以在spring的XML文件中直接配置信息,只要你不觉得乱。
当然如果测试的话我们还需要一个注册中心,zookeeper,每个服务器上都必须先启动这个zookeeper后注册中心才开始工作。
测试的话可以再本地测试,像上面的例子,<dubbo:registry address=”zookeeper://127.0.0.1:2181″></dubbo:registry> 注册中心的地址就是本地的地址,实际上不能这么随便配置的。
扩展下,服务端和客户端可以无限制的增加,否则分布式没有任何意义了,只有在不断地加压下才能展现dubbo的真正魅力,这点自己体会。
总结下dubbo的工作原理:可以想象一下,我们去相亲。首先是男方(类似消费者)向婚介中心提出一个请求,说我要相亲,相亲的条件报上,暴露需要的请求,有的话给我安排一个。婚介中心就像一个注册中心,他们接到这个请求后立马记录下来。同时如果有女方向婚介所提出,我要被相亲,也提出相应的条件,相当于提供方暴露一个服务给注册中心,婚介中心也做相应的记录。好,现在开始工作了,当婚介中心工作的时候,也就是启动了zookeeper,他们会自动发现,有哪些女方(服务提供者),有哪些男方(服务消费者),然后通过条件匹配他们相亲。服务就是这样完成了。至于监听的部分暂时可以不用去管他。
OK,dubbo我的理解暂时就到这里了,有兴趣的可以一起讨论,其实我也没真正试过这个框架有多牛逼,只是做了几个小小的测试,以后用不用的到都是扯淡,暂时先积累着。。。
关键词:dubbo分布式
http://www.tuicool.com/articles/FRbMVj
相关推荐
分布式服务框架 dubbo/dubbox 入门示例 1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。 2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少...
分布式服务框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理框架,旨在提高微服务架构下的服务调用效率,提供服务发现、流量控制、容错重试等核心功能。本调研报告将深入探讨Dubbo的核心特性、设计理念以及...
在分布式服务框架dubbo中,主要包含以下几个关键概念: - API:dubbo的API定义了服务的接口。 - Provider:服务提供者,负责发布服务接口及其实现。 - Consumer:服务消费者,负责调用服务提供者发布的服务。 - ...
Dubbo是阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,它致力于提供面向服务的RPC(Remote Procedure Call)解决方案,以实现服务间的高效通信和治理。Dubbo的核心目标是促进微服务架构的发展,通过解耦...
分布式服务框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理解决方案,主要应用于Java环境。在本Demo中,我们将探讨如何基于Spring和Zookeeper搭建一个基础的Dubbo架构。 首先,我们要了解Dubbo的核心概念。...
Dubbo分布式服务框架
包含阿里分布式开源框架dubbo视频详解,dubbo工具包,源码分析,zookeepr视频,mycat介绍
Dubbo分布式服务架构,对于研究大型Web服务器的并发技术的同学们有帮助。
分布式服务框架Dubbo-基于注解配置的方式; 分布式服务框架Dubbo-基于XML配置的方式; 分布式服务框架Dubbo-事件通知; SpringCloud集成Consul框架-实现配置中心; SpringCloud集成Consul框架-实现注册中心; SpringCloud...
Dubbo是中国阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,它主要为了解决企业应用之间的服务调用问题,提供了服务注册、服务发现、负载均衡、容错处理等一系列完整的服务治理功能。在这个"Dubbo分布式...
Dubbo、gRPC、Thrift等是常见的RPC框架,它们处理服务间的通信协议、序列化和异常处理等问题。 4. **熔断与降级**:在高并发情况下,为了保护系统稳定,需要设置熔断机制。当服务调用频繁失败时,熔断器会暂时切断...
官网:http://dubbo.io/,DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及作为SOA服务治理的方案,它是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,...
Dubbo-RPC分布式服务框架 Dubbo 是阿里巴巴开发的一个分布式服务框架,每天为2千多个服务提供大于30亿次的访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。 Dubbo 最新的版本是 2.5.3。 Dubbox 是当当网基于...
书中会详细讲解Dubbo的架构设计,包括服务提供者、消费者、注册中心、监控中心等组件的工作原理,以及如何配置和调优Dubbo服务。 其次,HSF(High Speed Service Framework)是阿里巴巴内部广泛使用的分布式服务...
教程视频:Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成
分布式框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理框架,主要应用于Java环境。它致力于解决因网络异步导致的服务之间的调用问题,提升系统的响应速度和并发处理能力。在本项目中,我们将深入探讨如何...
1、dubbo入门教程 基础篇教学视频 高级篇教学视频 PPT源码 2、dubbo 进阶 dubbo的高级特征、集群,负载均衡、直连开发模式和API详解以及资料和...3、dubbo分布式项目实战 springmvc+dubbo项目 商场系统 数据交换平台
总结起来,这个“分布式框架Dubbo学习小案例”旨在帮助你理解如何使用Dubbo构建分布式系统,并结合Zookeeper实现服务的注册与发现。通过实践,你可以更深入地掌握Dubbo的核心特性和工作原理,为今后的分布式系统开发...
总的来说,Dubbo作为一款成熟的Java分布式服务框架,不仅简化了服务的开发和调用,还提供了全方位的服务治理方案。它在提升系统性能、保障服务稳定性和易维护性方面都有着显著的优势,是构建大型分布式系统的理想...
在实践部分,可能会讲解如何选择和实施适合的分布式服务框架,如Netflix的Eureka和Zuul、Apache的Dubbo和Skywalking、Spring Cloud等。这些框架提供了实现上述组件的工具和接口,加速了分布式服务的构建。 总的来说...