`

SOA-Dubbo

阅读更多

1.1、Dubbo是什么?

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架

其核心部分包含:
1》远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
2》集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
3》自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

1.2. Dubbo能做什么?

1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
3. 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。

1.3. dubbo的架构

dubbo架构图如下所示:

这里写图片描述

节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。

对于这些角色来说,其他都还好,Monitor可能猿友们前期使用会把它忽略,但是后期会发现它的作用十分明显哦,如服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?为了解决这个问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标。其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以机器数反推总容量。

调用关系说明:
0 服务容器负责启动,加载,运行服务提供者。
1 服务提供者在启动时,向注册中心注册自己提供的服务。
2 服务消费者在启动时,向注册中心订阅自己所需的服务。
3 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

1.4. dubbo使用方法

Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。如果不想使用Spring配置,而希望通过API的方式进行调用(不推荐)
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

分享到:
评论

相关推荐

    Spring-Boot的Dubboxboot-dubbo.zip

    这个及其简单 Mybatis负责较为复杂的查询boot-dubbo-service该项目依赖api和boot-dubbo-infrastructure它要实现api约定的接口,另外依赖boot-dubbo-infrastructure对不同数据表的操作以及对事务的操作boot-dubbo-...

    dubbo-user-book.rar_SOA_dubbo_dubbo-user-book_分布式

    《SOA与Dubbo:深入理解Dubbo用户指南》 在现代企业级应用开发中,Service-Oriented Architecture(SOA)和分布式技术扮演着至关重要的角色。SOA是一种设计原则,它强调将复杂的系统分解为一系列可独立部署、可重用...

    swagger-dubbo:Dubbo的Swagger服务文档

    dubbo-static-doc是一个dubbo接口的静态文档 dubbo-apidoc是一个dubbo接口的javaAPI文档 昂首阔步 达博| ˈdʌbəʊ |是阿里巴巴提供的分布式框架,提供高性能和透明化的RPC远程服务调用方案,以及SOA服

    User Guide-zh - Dubbo中文文档

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请 ...

    alibaba-dubbo框架集成springboot项目源码附运行说明

    Dubbo是阿里巴巴公司开源的一个高性能、轻量级的分布式服务框架,它专注于RPC(远程过程调用)服务调用和SOA(面向服务的架构)服务治理。Dubbo为应用提供了高性能的RPC远程服务调用能力,同时支持服务的自动注册与...

    springmvc+mybatis+dubbo

    在“soa-dubbo”这个项目中,很可能是对 Dubbo 服务的探索和实践。项目可能包含了配置文件、接口定义、服务实现以及消费者端代码,展示了如何将 SpringMVC、MyBatis 与 Dubbo 结合,实现高效、分布式的数据库查询...

    springCloud+dubbo.zip

    eureka注册和治理controller层的http服务,供前端组合接口数据,gateway负载均衡,zookeeper注册后端服务层,dubbo做底层服务治理,gateway->eureka->api->dubbo->zookeeper->service,例子中gateway为网关服务,core...

    Dubbo视频教程--基础篇--第02节--使用Dubbo对传统工程进行服务化改造.rar

    Dubbo是阿里巴巴贡献的高性能、轻量级的服务治理框架,它在Service-Oriented Architecture(SOA)和微服务领域具有广泛的应用。 首先,我们需要理解什么是服务化改造。在传统的单体应用中,所有的业务逻辑、数据...

    互联网架构 SOA(Dubbo)+配置中心(ZK)+消息中间件MQ(RocketMq)+高-Foundation.zip

    本压缩包中的"互联网架构 SOA(Dubbo)+配置中心(ZK)+消息中间件MQ(RocketMq)+高-Foundation"提供了一个基于SOA的解决方案,结合了阿里巴巴的Dubbo服务框架、Zookeeper配置中心以及RocketMQ消息中间件。...

    Dubbo视频教程--基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍.rar

    Dubbo作为一款开源的分布式服务框架,由阿里巴巴开发并维护,是Service-Oriented Architecture(SOA)和微服务架构中的重要工具。 1. **服务化改造的背景与动机**: - 随着业务的发展,传统单体应用的复杂性会逐渐...

    dawn-dubbo:最新版本搭建的一个工程,使用dubbox实现SOA

    dawn-dubbo **mybatis:**3.2.7 **spring:**4.1.2.RELEASE **struts2:**2.3.8 **dubbox:**2.8.4(dubbox需要下载源码install到本地仓库) maven仓库

    sourceCode-read-dubbo-2.7.8:dubbo原始码阅读

    Dubbo采用了典型的面向服务架构(SOA),提供服务提供者(Provider)、服务消费者(Consumer)、注册中心(Registry)和服务监控(Monitor)四大组件。在源码中,我们可以看到这些组件是如何相互协作的。例如,`...

    Springboot 整合 Dubbo/ZooKeeper 实现 SOA 案例解析

    服务消费者(`springboot-dubbo-client`)通过 Maven 编译安装后,会在运行时从 ZooKeeper 中查找并消费服务提供者提供的服务。在启动消费者应用时,如果一切配置正确,消费者会成功调用服务提供者的接口,并在...

    SOA Dubbo视频教程

    SOA Dubbo视频教程,包含Zookeeper实战课程,文件内含百度云下载链接,请自行下载观看,链接失效时可联系邮箱补发,谢谢,赶快下载吧!!

    dubbo教学视频-轻量级SOA架构

    《Dubbo教学视频-轻量级SOA架构》是一份深度解析Dubbo框架及其在构建轻量级服务导向架构(SOA)中的应用的教学资源。Dubbo,作为阿里巴巴开源的一款高性能、轻量级的Java远程服务框架,已经成为企业级分布式系统开发...

    java版商城源码下载--SOA-Vue-:-SOA-Vue-

    基于SOA架构的分布式购物电商商城 后台管理系统:管理商品、订单、类目、商品规格属性、用户、权限、系统统计、系统日志以及前台内容等功能 前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等...

    基于Dubbo的分布式架构设计.docx

    在服务提供者侧,首先需要配置`spring-dubbo-config.xml`来定义服务的元数据,然后在`spring-dubbo-provider.xml`中注册服务,指定服务实现类和接口。这样,服务提供者就能发布服务供消费者调用。 3.2. 安装管理...

    基于dubbo的消费方完整项目示例

    本项目"**dubbo-soa-consumer**"是一个全面展示如何在实际开发中构建Dubbo消费方(Consumer)的实例,旨在帮助开发者理解和掌握Dubbo Consumer端的配置和调用方法。 首先,我们需要理解Dubbo的基本架构。Dubbo由...

    dubbo-admin-2.5.4.zip

    《Dubbo Admin 2.5.4:洞察SOA服务治理的中枢》 在分布式服务架构中,管理和监控是至关重要的环节。Dubbo,作为阿里巴巴开源的一款高...通过解压后的“dubbo-admin-2.5.4.war”文件部署,即可开启这一高效的监控之旅。

    dubbo-2.5.3.jar

    dubbo-2.5.3.jar一个优秀的SOA框架

Global site tag (gtag.js) - Google Analytics