http://www.oschina.net/p/dubbo?fromerr=hLEGEqJY
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。
主要核心部件:
-
Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.
-
RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
-
Registry: 服务目录框架用于服务的注册和服务事件发布和订阅
Dubbo工作原理
-
Provider
-
暴露服务方称之为“服务提供者”。
-
Consumer
-
调用远程服务方称之为“服务消费者”。
-
Registry
-
服务注册与发现的中心目录服务称之为“服务注册中心”。
-
Monitor
-
统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。
(1) 连通性:
-
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小
-
监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示
-
服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销
-
服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销
-
注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外
-
注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
-
注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
-
注册中心和监控中心都是可选的,服务消费者可以直连服务提供者
(2) 健状性:
-
监控中心宕掉不影响使用,只是丢失部分采样数据
-
数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
-
注册中心对等集群,任意一台宕掉后,将自动切换到另一台
-
注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
-
服务提供者无状态,任意一台宕掉后,不影响使用
-
服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
(3) 伸缩性:
-
注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
-
服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者
相关推荐
《Dubbo框架源码解析深度探索》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经成为Java世界中分布式服务的重要选择。本文将深入探讨Dubbo的核心概念、设计模式以及源码实现,旨在帮助读者理解...
在了解分布式Dubbo框架的实际项目使用之前,需要先明确Dubbo的基本概念。Dubbo的RPC框架中,分为服务提供者(Provider)和服务消费者(Consumer)。服务提供者负责定义接口,并实现接口中定义的业务逻辑,通常在数据...
Dubbo框架是阿里巴巴开源的一款高性能、轻量级的服务治理框架,它主要应用于分布式服务的开发、部署和管理。在使用Dubbo时,我们经常会遇到XML配置文件中的标签无法被识别的问题,这通常是因为缺少了对相关XML ...
【Dubbo框架搭建详解】 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的Java RPC框架,旨在简化分布式系统开发,实现服务的透明调用。它提供了丰富的服务治理功能,包括服务注册与发现、负载均衡、容错机制、监控等...
总的来说,"dubbo-SSM框架搭建.zip"提供的项目实例是一个理想的起点,对于想要学习和理解SSM+Dubbo集成的开发者来说,它不仅能够帮助他们掌握基本的框架整合,还能引导他们深入理解分布式服务的实现机制。...
#### Dubbo框架简介 Dubbo是由阿里巴巴B2B技术部于2011年12月开源的一个高性能、透明化的RPC远程服务调用框架。它主要应用于分布式系统的服务治理方案,提供了服务自动注册和发现、软负载均衡、容错机制等高级功能。...
【深入理解Dubbo框架:从基本原理到模拟实践的全面解析】 远程过程调用(RPC)是分布式系统中的一种核心技术,它使得一个程序能够像调用本地方法一样调用远程机器上的程序。RPC协议允许不同地址空间的程序之间进行...
Dubbo是一个高性能、轻量级的Java服务治理框架,它由阿里巴巴开源并广泛应用于分布式系统开发。本项目是基于Dubbo实现的一个简单的Consumer-Provider模式的示例,旨在帮助初学者理解并掌握如何在实际应用中使用Dubbo...
在本文中,我们将深入探讨如何使用Dubbo框架实现单点登录(SSO)以及与之相关的负载均衡策略。首先,让我们了解SSO的基本概念:单点登录是指用户在一个系统中登录后,无需再次登录就可以访问其他相互信任的系统。在...
【描述】:这篇博客通过一个简单的实例,引导读者了解如何入门Dubbo框架的使用。它可能是以创建一个包含服务提供者和服务消费者的基本项目为背景,逐步讲解了Dubbo的配置与运行流程。 【标签】:“源码”和“工具”...
# 基于Thrift和Dubbo框架的微服务系统 ## 项目简介 本项目是一个基于Thrift和Dubbo框架的微服务系统,旨在提供高效、可扩展的跨语言服务开发。系统通过Thrift实现跨语言的RPC通信,利用Dubbo进行服务注册、发现和...
# 基于Dubbo框架的电影购票后台系统 ## 项目简介 本项目是一个基于Dubbo框架的电影购票后台系统,旨在提供高效、稳定的电影购票服务。系统采用Spring Boot作为应用启动框架,结合Dubbo实现分布式服务调用,确保系统...
### Dubbo框架设计原则 #### 一、概述 Dubbo是一款高性能、轻量级的开源服务框架,旨在提供高可用的服务治理方案。本文件详细介绍了Dubbo的设计原则,特别是那些在设计过程中的经验和理论的应用。这些原则不仅仅...
以下是一个基本的Dubbo配置示例: ```yaml dubbo: application: name: dubbo-provider # 应用名 registry: address: zookeeper://127.0.0.1:2181 # 注册中心地址 protocol: name: dubbo # 协议类型 port: ...
消费端则是调用这些服务的客户端,它通过Dubbo框架来发现和调用远程服务。 1. **接口定义**:在Dubbo项目中,接口通常是一个普通的Java接口,定义了服务的业务行为。例如,可能有一个`UserService`接口,其中包含`...
# 基于Spring Boot和Dubbo框架的运力管理系统 ## 项目简介 运力管理系统(VMS)是一个基于Spring Boot和Dubbo框架的综合性管理系统,旨在高效管理运输能力、车辆、司机、供应商等资源。系统通过微服务架构实现模块...
通过这个简单的Demo,我们可以理解Dubbo的基本工作原理和核心组件。在实际项目中,还需要考虑负载均衡、容错机制、监控等更复杂的配置和优化,以确保分布式系统的稳定性和高可用性。总的来说,Dubbo作为一款强大的...
"Dubbo基本原理机制" Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。Dubbo 的基本原理机制可以分为以下几个部分: 1. 客户端调用远程接口时,生成一个...
在【标签】"dubbo"和"dubbo_admin"中,"dubbo"强调了这个资源与Dubbo框架紧密相关,而"dubbo_admin"进一步指出了其中包含的特定组件——Dubbo的管理工具。 【压缩包子文件的文件名称列表】"dubbo-master"通常表示这...
除了基本的发布和消费服务之外,Dubbo还提供了一些高级特性: - **服务治理**: 包括服务注册与发现、服务版本控制、服务分组、服务降级、熔断、限流等,这些都是微服务架构中的关键元素。 - **协议与序列化**: ...