`
kavy
  • 浏览: 888655 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

分布式服务框架(dubbo)

 
阅读更多

前些日子,他妈的实在闲的慌,于是跑去质问老总,还让不让人干了。

老总有些错愕,投来惊异带着些赞许的目光,随后扔给我一本书 收获不止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 入门示例

    分布式服务框架 dubbo/dubbox 入门示例 1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。 2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少...

    开源分布式服务框架Dubbo调研报告

    分布式服务框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理框架,旨在提高微服务架构下的服务调用效率,提供服务发现、流量控制、容错重试等核心功能。本调研报告将深入探讨Dubbo的核心特性、设计理念以及...

    分布式服务框架dubbo介绍.pdf

    在分布式服务框架dubbo中,主要包含以下几个关键概念: - API:dubbo的API定义了服务的接口。 - Provider:服务提供者,负责发布服务接口及其实现。 - Consumer:服务消费者,负责调用服务提供者发布的服务。 - ...

    开源分布式服务框架Dubbo调研报告-new

    Dubbo是阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,它致力于提供面向服务的RPC(Remote Procedure Call)解决方案,以实现服务间的高效通信和治理。Dubbo的核心目标是促进微服务架构的发展,通过解耦...

    分布式服务之Dubbo基础架构搭建Demo

    分布式服务框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理解决方案,主要应用于Java环境。在本Demo中,我们将探讨如何基于Spring和Zookeeper搭建一个基础的Dubbo架构。 首先,我们要了解Dubbo的核心概念。...

    Dubbo分布式服务框架

    Dubbo分布式服务框架

    阿里分布式开源框架dubbo视频详解+zookeepter+mycat

    包含阿里分布式开源框架dubbo视频详解,dubbo工具包,源码分析,zookeepr视频,mycat介绍

    Dubbo 分布式服务架构

    Dubbo分布式服务架构,对于研究大型Web服务器的并发技术的同学们有帮助。

    SpringBoot、SpringCloud的各种集成例子大全

    分布式服务框架Dubbo-基于注解配置的方式; 分布式服务框架Dubbo-基于XML配置的方式; 分布式服务框架Dubbo-事件通知; SpringCloud集成Consul框架-实现配置中心; SpringCloud集成Consul框架-实现注册中心; SpringCloud...

    Dubbo分布式服务框架入门2

    Dubbo是中国阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,它主要为了解决企业应用之间的服务调用问题,提供了服务注册、服务发现、负载均衡、容错处理等一系列完整的服务治理功能。在这个"Dubbo分布式...

    《分布式服务框架原理与实践》高清完整版

    Dubbo、gRPC、Thrift等是常见的RPC框架,它们处理服务间的通信协议、序列化和异常处理等问题。 4. **熔断与降级**:在高并发情况下,为了保护系统稳定,需要设置熔断机制。当服务调用频繁失败时,熔断器会暂时切断...

    高性能的分布式服务框架Dubbo

    官网:http://dubbo.io/,DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及作为SOA服务治理的方案,它是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,...

    Dubbo-RPC分布式服务框架.pptx

    Dubbo-RPC分布式服务框架 Dubbo 是阿里巴巴开发的一个分布式服务框架,每天为2千多个服务提供大于30亿次的访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。 Dubbo 最新的版本是 2.5.3。 Dubbox 是当当网基于...

    分布式服务框架原理与实践(Dubbo,HSF)_李林锋著

    书中会详细讲解Dubbo的架构设计,包括服务提供者、消费者、注册中心、监控中心等组件的工作原理,以及如何配置和调优Dubbo服务。 其次,HSF(High Speed Service Framework)是阿里巴巴内部广泛使用的分布式服务...

    45 3 阿里分布式开源框架DUBBO至尊版

    教程视频:Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成

    分布式框架dubbo实现

    分布式框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理框架,主要应用于Java环境。它致力于解决因网络异步导致的服务之间的调用问题,提升系统的响应速度和并发处理能力。在本项目中,我们将深入探讨如何...

    阿里分布式开源框架DUBBO框架的深入解析、以及实战项目实用教学视频

    1、dubbo入门教程 基础篇教学视频 高级篇教学视频 PPT源码 2、dubbo 进阶 dubbo的高级特征、集群,负载均衡、直连开发模式和API详解以及资料和...3、dubbo分布式项目实战 springmvc+dubbo项目 商场系统 数据交换平台

    分布式框架Dubbo学习小案例

    总结起来,这个“分布式框架Dubbo学习小案例”旨在帮助你理解如何使用Dubbo构建分布式系统,并结合Zookeeper实现服务的注册与发现。通过实践,你可以更深入地掌握Dubbo的核心特性和工作原理,为今后的分布式系统开发...

    【JAVA分布式系列】dubbo

    总的来说,Dubbo作为一款成熟的Java分布式服务框架,不仅简化了服务的开发和调用,还提供了全方位的服务治理方案。它在提升系统性能、保障服务稳定性和易维护性方面都有着显著的优势,是构建大型分布式系统的理想...

    分布式服务框架原理与实践_李林锋著

    在实践部分,可能会讲解如何选择和实施适合的分布式服务框架,如Netflix的Eureka和Zuul、Apache的Dubbo和Skywalking、Spring Cloud等。这些框架提供了实现上述组件的工具和接口,加速了分布式服务的构建。 总的来说...

Global site tag (gtag.js) - Google Analytics