Dubbo(一) 介绍

什么是Dubbo

Apache Dubbo是一款高性能, 轻量级的开源Java RPC分布式服务框架, 它提供了三大核心功能: 面向接口的远程方法调用, 智能容错和负载均衡, 以及服务自动注册和发现。它最大的特点是按照分层的方式来架构, 使用这种方式可以使各个层之间解藕(或者最大限度地松耦合)。从服务模型的角度来看, Dubbo采用的是一种非常简单的模型, 要么提供方提供服务, 要么是消费方消费服务, 所以基于这一点可以抽象出服务提供方和服务消费方两个角色

官网: http://dubbo.apache.org/zh-cn

GitHub: https://github.com/apache/incubator-dubbo

Dubbo的服务治理

特性

描述

透明远程调用

就像调用本地方法一样调用远程方法; 只需要简单配置, 没有任何API侵入

负载均衡机制

Client端LB, 可在内网替代F5等硬件负载均衡器

容错重试机制

服务Mock数据, 重试次数, 超时机制

自动注册发现

注册中心基于接口名查询服务提供者的ip地址, 并且能够平滑添加或删除服务提供者

性能日志监控

Monitor统计服务的调用次数和调用时间的监控中心

服务治理中心

路由规则, 动态配置, 服务降级, 访问控制, 权重调整, 负载均衡

自动治理中心

无, 比如: 熔断限流, 自动权重配置

Dubbo的核心功能

Remoting – 远程通信, 提供对多种NIO框架抽象封装, 包括’同步转异步’和’请求-响应’模式的信息交换方式

Cluster – 服务框架, 提供基于接口方法的透明远程过程调用, 包括多协议支持, 以及软负载均衡, 失败容错, 动态配置等集群支持

Registry: 服务注册中心, 服务自动发现: 基于注册中心目录服务, 使服务消费方能动态的查找服务提供方, 使地址透明, 使服务提供方可以平滑增加或减少机器

Dubbo的组件角色

组件角色

说明

Provider

暴露服务的服务提供方

Consumer

调用远程服务的服务消费方

Registry

服务注册与发现的注册中心

Monitor

统计服务的调用次数和调用时间的监控中心

Container

运行容器

调用关系说明

  1. 服务容器Container负责启动, 加载, 运行服务提供者
  2. 服务提供者Provider在启动时, 向注册中心注册自己提供的服务。
  3. 服务消费者Consumer在启动时, 向注册中心订阅自己所需的服务
  4. 注册中心Registry返回服务提供者列表给消费者, 如果有变更, 注册中心将基于长连接腿送变更数据给消费者。
  5. 服务消费者Consumer 从提供者地址列表中, 基于软负载均衡算法, 选一台提供者进行调用, 如果调用失败, 再选另一台调用
  6. 服务消费者Consumer和提供者Provider 在内存累计调用次数和调用时间, 定时每分钟发送一次统计数据到监控中心。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值