Dubbo概述

Stella981
• 阅读 651

一、什么是Dubbo

        Dubbo是一个分布式框架,以及SOA治理方案。其主要功能包括:高性能DIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。它有5个节点,分别是Provider、Consumer、Registry、Monitor、Container。
其中Prvider是服务提供者,Consumer是服务消费者;Registry是服务进行注册和被发现的注册中心;Monitor是统计服务的调用次数和调用时间的监控中心;Container是服务运行容器。

二、调用关系

       他们之间调用的关系是:Container负责启动,加载然后运行Provider。Provider在启动时会向注册中心注册自己提供的服务,Consumer在启动时会向Registry订阅自己所需服务,此时Registry会返回Provider地址列表给Consumer。如果地址有变更,Registry会基于长连接推送变更数据Consumer。Consumer会基于软负载均衡算法选一台提供者进行调用,如果调用失败,则在选一台。Provider和Consumer在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到Monitor。

三、Dubbo的四个特点

    Dubbo具有四个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。

  1. Dubbo具有四个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。

  2. 健壮性:说明更具有稳定性,比如说注册中心对等集群中的任意一台堕掉后,将自动切换到另一台,就算注册中心全部堕掉,服务者和消费者任可以通过本地缓存进行通讯;

  3. 伸缩性:就是可以通过增加机器部署实例进行添加新的注册中心和服务提供者;

  4. 升级性:使文档中提到的对未来架构的设想,比起目前框架它的特点是可以实现自动部署服务的本地代理以及可以通过访问来自动增减服务提供者。

四、Dubbo框架

Dubbo概述

Dubbo概述

Dubbo概述

节点角色说明

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

五、Dubbo调用关系说明

  1. 服务容器负责启动,加载,运行服务提供者

  2. 服务提供者在启动时,向注册中心注册自己提供的服务

  3. 服务消费者在启动时,向注册中心订阅自己所需的服务

  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者,

  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到提供中心。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Dubbo架构设计与源码解析(二) 服务注册
作者:黄金一、Dubbo简介Dubbo是一款典型的高扩展、高性能、高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题。其核心模块包含【RPC通信】和【服务治理】,其中服务治理又分为服务注册与发现、服务容错、负载均衡、流量调度等。今天将重点介
Chase620 Chase620
3年前
Dubbo 源码分析 - 集群容错之Directory
注:本系列文章已捐赠给Dubbo社区,你也可以在Dubbo中阅读本系列文章。1\.简介前面文章分析了服务的导出与引用过程,从本篇文章开始,我将开始分析Dubbo集群容错方面的源码。这部分源码包含四个部分,分别是服务目录Directory、服务路由Router、集群Cluster和负载均衡LoadBalance。这几个部分的源码逻辑比
Wesley13 Wesley13
3年前
Dubbo学习总结(1)——Dubbo入门基础与实例讲解
Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000个服务提供3,000,000,000次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。一、Dubbo简介1.1、Dubbo是什么?
Stella981 Stella981
3年前
Dubbo 学习
Dubbo概念:  Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求。Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务
Stella981 Stella981
3年前
GoFramework框架简介(四)dubbo篇
框架中dubbo配置说明:Provider端配置如下:<dubbo:protocolname"dubbo"host"${dubbo.host}"port"${dubbo.port}"/<!服务提供者filter,在Provider上尽量多配置Consumer端属性,配置的覆盖规则:1)
Stella981 Stella981
3年前
Dubbo基本原理机制
分布式服务框架:–高性能和透明化的RPC远程服务调用方案–SOA服务治理方案ApacheMINA 框架基于Reactor模型通信框架,基于tcp长连接Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况
Stella981 Stella981
3年前
Dubbo是什么?能做什么?
1\.Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用
Stella981 Stella981
3年前
Dubbo常见面试题
阅读文本大概需要3分钟。!(https://oscimg.oschina.net/oscnet/70db51c5516c4d3284e04eccf811be69.jpg)dubbo是什么dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含:集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失