关键词:
Dubbo概念
- Dubbo是一个高性能,轻量级的RPC分布式服务框架
提供了三核心能力:
- 面向接口的远程方法调用(@Reference)
- 智能容错
- 负载均衡
- Dubbo特点: 按照分层的方式来架构,可以使各个层之间解耦合
Dubbo的角色:
- 提供方:Provider
- 消费方:Consumer
Dubbo的提供非常简单的服务模型,要么是提供方提供服务,要么是消费方消费服务
Dubbo的服务治理
- 透明远程调用: 调用远程方法就像调用本地方法一样,只需简单配置,没有任何API侵入
- 负载均衡机制: Client端LB,在内网替代F5等硬件负载均衡器
- 容错重试机制: 服务Mock数据,重试次数,超时机制
- 自动注册发现: 注册中心基于接口名查询服务提供者的IP地址,可以添加和删除服务提供者
- 性能日志监控: Monitor,统计服务的调用次数和调用时间的监控中心
服务治理中心: 路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡
Dubbo的核心功能
- Remoting: 远程通讯,提供对多种NIO框架抽象封装,包括"同步转异步"和"请求-响应"模式的信息交换方式
- Cluster: 服务框架,提供基于接口方法的透明远程过程调用,包括:多协议支持,软负载均衡,容错重试,路由规则,动态配置等集群支持
Registry: 服务注册中心,服务自动发现.基于注册中心目录服务,使服务消费方能动态地查找服务提供方,使地址透明,使服务提供方可以平滑地增加和减少机器
通信模型: BIO : 同步并阻塞 NIO : 异步并阻塞 AIO : 异步非阻塞 通信框架 : netty
Dubbo组件角色
组件角色 说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务调用次数和调用时间的监控中心 Container 服务运行容器 组件调用关系说明
- 服务容器Container负责启动,加载,运行服务提供者
- 服务提供者Provider在启动时,向注册中心注册自己提供的服务
- 服务消费者Consumer在启动时,向注册中心订阅自己所需的服务
- 注册中心Registry返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
- 服务消费者Consumer从提供者地址列表中,基于负载均衡算法,选择一台提供者进行调用,如果调用失败,再选另一台进行调用
服务消费者Consumer和服务提供者Provider,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
Dubbo Admin管理控制台
管理控制台的主要功能:
- 路由规则
- 动态配置
- 服务降级
- 访问控制
- 权限调整
- 负载均衡
dubbo
...发现等功能)。简单的说,dubbo就是个服务框架,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用,说白了就是个远程服务调用的分布式框架。告别WebService模 查看详情
转载:java分布式服务框架dubbo的介绍与使用
1.Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubb... 查看详情
国内的分布式框架dubbo详细介绍和使用(代码片段)
...的注册与发现、负载均衡、服务治理等功能,简化了分布式系统的开发过程。下面我们将详细介绍Dubbo的原理和使用方法,并附上相关的Java代码示例。Dubbo的原理Dubbo的核心是一个基于Java序列化的远程过程调用(RPC... 查看详情
dubbo3高级特性「框架与服务」rpc全链路调用追踪参数传递(opentracing)
...个功能,使用RpcContext可以为单次调用指定不同配置。如分布式链路追踪场景,其实现原理就是在全链路的上下文中维护一个traceId,Consumer和Provider通过传递traceId来连接一次RPC调用,分别上报日志后可以在追踪系统中串联并展示... 查看详情
dubbo分布式服务框架-study1
本文参考“如何给老婆解释RPC”一文进行的。。。1.首先了解下dubbo: dubbo是一款高性能、轻量级的开源javaRPC服务框架(RPC即远程过程调用,具体解释见:https://www.jianshu.com/p/2accc2840a1b)。它提供了三大核心能力:面向... 查看详情
rpc(remoteprocedurecall)及其应用(java版)(代码片段)
...,像调用本地函数一样调用远程函数,从而实现分布式应用程序的构建。在RPC中,客户端应用程序发送请求消息到远程服务器,服务器接收请求并执行相应的操作,然后将结果返回给客户端。RPC可以使用多种... 查看详情
dubbo实现rpc调用使用入门
使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian、HTTP、RMI、Memcached、Redis、Thrift等等。由于Dubbo将这些协议的实现进行了封装了,无论是服务端(开发服务)还是客户端(调用服务),都不需要关心协议的细节,... 查看详情
分布式服务框架dubbo使用小结
介绍:Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴... 查看详情
从零开始认识dubbo
...1.Dubbo是什么ApacheDubbo是一款高性能JavaRPC框架。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的... 查看详情
个人学习分布式专题分布式服务治理之dubbo框架
...Spring集成 Dubbo框架 1.1Dubbo是什么:Dubbo是一个分布式服务框架,致力于提高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就 查看详情
手写模拟dubbo实现一个自己的rpc框架
...19/small-dubbo.git什么是RPC?维基百科是这么定义RPC的:在分布式计算,远程过程调用(英语:RemoteProcedureCall,缩写为RPC)是一个计算机通信协议。该协议允许运行于一台计算机 查看详情
golanggolang微服务框架介绍
...cx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的RPC服务框架,基于Golangnet/rpc实现。谈起分布式的RPC框架,比较出名的是阿里巴巴的dubbo,包括由当当网维护的dubbox。 不知道dubbo在阿里的内部竞争中败给了HSF,... 查看详情
转载分布式rpc框架性能大比拼
dubbo、motan、rpcx、gRPC、thrift的性能比较Dubbo是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。不过,略有遗憾的是,据说在淘宝内部,dubbo... 查看详情
dubbo怎么不依赖spring
参考技术ADubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案主要核心部件Remoting:网络通信框架,实现了sync-over-async和request-response消息机制.RPC:一个远程过程调用的抽象,支持负... 查看详情
dubbo介绍
1.Dubbo是什么? (1).Dubbo是Alibaba开源的一个分布式服务框架(远程服务调用的分布式框架) (2).高性能和透明化的RPC远程服务调用方案 (3).SOA服务治理方案2.Dubbo能做什么? (1).透明化的远程方法调用 就像调用... 查看详情
分布式架构的基石,简单的rpc框架实现(java)
RPC架构 RPC的全称是RemoteProcedureCall,它是一种进程间通信方式。允许像调用本地服务一样调用远程服务。 1.RPC框架原理 RPC框架的目标就是让远程过程(服务)调用更加简单、透明,RPC框架负责屏蔽底层的传输... 查看详情
微服务治理之dubbo基础认识(代码片段)
...为什么要用Dubbo1.1远程通信背景技术架构的发展从单体到分布式,是一种顺势而为的架构演进,也是一种被逼无奈的技术变革。架构的复杂度能够体现公司的业务的复杂度,也能从侧面体现公司的产品的发展势头是向... 查看详情
springboot+dubbo简单分布式rpc调用demo(代码片段)
...教程,然后结合网上大佬的一些资料,自己搭了个简单的分布式远程调用案例。这里强调一个东西--记住官方文档第一!!!下面分享一下我的案例代码吧,也希望本案例能对在读的读者启动一点帮助......先来一张简单的架构图... 查看详情