dubbo简介

什么是RPC

RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同

RPC两个核心模块:通讯,序列化

RPC原理

一次完整的RPC调用流程(同步调用,异步另说)如下:

1、服务消费方(client)调用以本地调用方式调用服务;

2client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;

3client stub找到服务地址,并将消息发送到服务端;

4server stub收到消息后进行解码;

5server stub根据解码结果调用本地的服务;

6、本地服务执行并将结果返回给server stub

7server stub将返回结果打包成消息并发送至消费方;

8client stub接收到消息,并进行解码;

9、服务消费方得到最终结果。

RPC框架的目标就是要2~8这些步骤都封装起来,这些细节对用户来说是透明的,不可见的

dubbo核心概念

官网:http://dubbo.apache.org/

Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现

服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务

服务消费者(Consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于负责均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用

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

监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

调用关系说明

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

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

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

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

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

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

用户指南 入门 背景 需求 架构 用法 快速启动 服务提供者 服务消费者 依赖 必需依赖 缺省依赖 可选依赖 成熟度 功能成熟度 策略成熟度 配置 Xml配置 属性配置 注解配置 API配置 示例 启动时检查 集群容错 负载均衡 线程模型 直连提供者 只订阅 只注册 静态服务 多协议 多注册中心 服务分组 多版本 分组聚合 参数验证 结果缓存 泛化引用 泛化实现 回声测试 上下文信息 隐式传参 异步调用 本地调用 参数回调 事件通知 本地存根 本地伪装 延迟暴露 并发控制 连接控制 延迟连接 粘滞连接 令牌验证 路由规则 配置规则 服务降级 优雅停机 主机绑定 日志适配 访问日志 服务容器 Reference Config缓存 分布式事务13-1-13 U serG uide-zh -D ubbo -A libaba O pen S esam e code.alibabatech.com /w iki/display/dubbo/U ser+G uide-zh#U serG uide-zh-S im ple% E 7% 9B % 91% E 6% κ 2/100 API参考手册 配置API 注解API 模型API 上下文API 服务API 配置参考手册 <dubbo:service/> <dubbo:reference/> <dubbo:protocol/> <dubbo:registry/> <dubbo:monitor/> <dubbo:application/> <dubbo:module/> <dubbo:provider/> <dubbo:consumer/> <dubbo:method/> <dubbo:argument/> <dubbo:parameter/> 协议参考手册 dubbo:// rmi:// hessian:// http:// webservice:// thrift:// memcached:// redis:// 注册中心参考手册 Multicast注册中心 Zookeeper注册中心 Redis注册中心 Simple注册中心 Simple监控中心 Telnet命令参考手册 ls ps cd pwd trace count invoke status log help clear exit Maven插件参考手册 mvn dubbo:registry mvn dubbo:create 服务化最佳实践 分包 粒度 版本 兼容性 枚举值 序列化 异常 调用 推荐用法 容量规划 基准测试工具包 性能测试报告 测试说明 测试环境 测试目的 测试脚本 测试结果 测试分析 测试覆盖率报告
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值