`
liuzhiyi7288
  • 浏览: 32022 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

RPC框架Dubbo

    博客分类:
  • RPC
 
阅读更多

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

主要核心部件:

 

  • Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.

  • RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

  • Registry: 服务目录框架用于服务的注册和服务事件发布和订阅

 

Dubbo工作原理

  • Provider

    • 暴露服务方称之为“服务提供者”。

  • Consumer

    • 调用远程服务方称之为“服务消费者”。

  • Registry

    • 服务注册与发现的中心目录服务称之为“服务注册中心”。

  • Monitor

    • 统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。

(1) 连通性:

  • 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小

  • 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示

  • 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销

  • 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销

  • 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外

  • 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者

  • 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表

  • 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者

(2) 健状性:

  • 监控中心宕掉不影响使用,只是丢失部分采样数据

  • 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务

  • 注册中心对等集群,任意一台宕掉后,将自动切换到另一台

  • 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

  • 服务提供者无状态,任意一台宕掉后,不影响使用

  • 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

(3) 伸缩性:

  • 注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心

  • 服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者

分享到:
评论

相关推荐

    阿里巴巴开源RPC框架dubbo的hellworld实例

    在这个"阿里巴巴开源RPC框架dubbo的hello world实例"中,我们将深入理解dubbo的基本工作原理和如何创建一个简单的应用。 首先,我们需要了解dubbo的核心概念。dubbo提供服务提供者(Provider)、服务消费者...

    Apache Dubbo 是一个高性能的、基于 Java 的开源 RPC 框架 dubbo源码

    Apache Dubbo 是一个高性能的、基于 Java 的开源 RPC 框架。dubbo源码

    开课吧-06分布式RPC系统框架Dubbo.pdf

    分布式RPC框架Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它提供了三大核心功能:服务治理、远程调用和服务监控。本课程由讲师Reythor雷讲解,旨在帮助开发者理解分布式架构以及如何利用Dubbo构建微...

    Dubbo分布式服务框架

    Dubbo分布式服务框架

    通俗易懂的RPC框架Dubbo视频教程

    Dubbo是目前分布式系统开发里面使用非常多的一个RPC框架。本套视频从分布式系统的基本概念出发,由浅入深,讲解了RPC原理,Dubbo基本使用,Dubbo高可用场景以及Dubbo原理,涉及了分布式系统中服务注册、服务发现、...

    Netty4.1实战-手写RPC框架.pdf

    RPC是一种远程调用的通信协议,例如dubbo、thrift等,我们在互联网高并发应用开发时候都会使用到类似的服务。本专题主要通过三个章节实现一个rpc通信的基础功能,来学习RPC服务...- 手写RPC框架第三章《RPC中间件》

    分布式RPC框架Apache Dubbo

    分布式RPC框架Apache Dubbo是阿里巴巴开源的一款高性能、轻量级的Java远程调用框架,它致力于提供简单、高效、可扩展的服务发现与调用机制。本文将深入探讨Dubbo的核心特性,包括服务注册中心Zookeeper的安装使用、...

    Dubbo RPC框架原理解析和源码

    Dubbo是一款由阿里巴巴开源的高性能Java RPC框架,它在分布式系统中起到了服务调用的核心作用。RPC(Remote Procedure Call)允许一个程序调用另一个在不同网络计算机上的程序,就像调用本地函数一样简单。Dubbo的...

    Java rpc框架简易版,类似dubbo分布式实现 (纯socket实现).zip

    本项目提供了一个简易版的Java RPC框架实现,旨在模仿著名的Dubbo框架,但采用了更基础的Socket通信方式进行分布式服务的搭建。以下是这个项目的核心知识点: 1. **RPC原理**:RPC使得客户端可以像调用本地方法一样...

    基于dubbo实现的rpc框架RPC 框架

    基于Dubbo实现的RPC框架,是Java开发中常见的一种高效率、高性能的服务治理方案,尤其在微服务架构中广泛应用。 Dubbo是由阿里巴巴开源的高性能RPC框架,它提供了服务注册、服务发现、负载均衡、流量控制、熔断降级...

    实现一个简单的RPC框架

    RPC(Remote Procedure Call)是一种进程间通信的技术,它允许程序在不同的网络节点上进行通信,就像调用本地函数一样调用远程...在实际开发中,可以参考成熟的RPC框架,如Dubbo、gRPC等,它们提供了更多的功能和优化。

    40_如何设计一个类似dubbo的rpc框架?架构上该如何考虑?.zip

    在IT行业中,设计一个类似于Dubbo的RPC(远程过程...以上是设计一个类似Dubbo的RPC框架所需考虑的核心知识点。在实际开发中,还需要结合具体的业务场景和技术栈,不断迭代和优化,以提供高效、稳定的远程调用解决方案。

    从零开始手写 dubbo rpc 框架-12-generic泛化调用.pdf

    Dubbo RPC 框架 Generic 调用机制详解 Dubbo RPC 框架是一种基于 Netty 实现的 Java RPC 框架,主要用于个人学习和理解 RPC 底层实现原理。本文将详细介绍 Dubbo RPC 框架中的 Generic 调用机制。 Generic 调用...

    基于dubbo实现的rpc框架RPC

    **基于Dubbo实现的RPC框架详解** RPC(Remote Procedure Call)框架是分布式系统中的关键组件,它允许在不同网络节点间的程序进行透明的交互,仿佛它们是在同一进程中执行一样。Dubbo,作为阿里巴巴开源的一款高...

    分布式 rpc远程调用 dubbo

    Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它提供了丰富的服务治理功能,如服务注册与发现、负载均衡、熔断机制等,广泛应用于微服务架构中。 标题“分布式rpc远程调用dubbo”直指Dubbo在分布式环境...

    分布式RPC系统框架-Dubbo(2.7)教程(4.31G)

    Dubbo是阿里巴巴开源的一款高性能、轻量级的RPC框架,它极大地简化了服务间的通信,提升了系统的可扩展性。 首先,我们要理解什么是RPC(Remote Procedure Call)。RPC允许一个程序在执行的过程中调用另一个位于...

    分布式RPC服务框架Dubbo从入门到手写Dubbo框架教程

    Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,...

    dubbo-2.5.6源码tar.gz

    Dubbo是一款高性能、轻量级的开源Java RPC框架,由阿里巴巴公司开发并贡献给社区。它致力于提供一套完整的服务治理解决方案,包括服务注册、服务发现、负载均衡、容错机制等。在本文中,我们将深入探讨`dubbo-2.5.6`...

Global site tag (gtag.js) - Google Analytics