栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Dubbo01【概述】,nginx教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Dubbo01【概述】,nginx教程

4、RPC 远程过程调用


远程过程调用协议( Remote Procedure Call Protocol),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 协议假定某些传输协议的存在,如 TCP 或 UDP,为通信程序之间携带信息数据。在 OSI 网络通信模型中,RPC 跨越了传输层和应用层。RPC 使得开发包括网络分布式多程序在内的应用程序更加容易。

二、Dubbo 框架结构图

===========================================================================

1.Dubbo 角色介绍


1.1registry

注册中心. 是用于发布和订阅服务的一个平台.用于替代 SOA 结构体系框架中的 ESB 服务总线的。

1.1.1发布

开发服务端代码完毕后, 将服务信息发布出去. 实现一个服务的公开.

1.1.2订阅

客户端程序,从注册中心下载服务内容 这个过程是订阅.

订阅服务的时候, 会将发布的服务所有信息,一次性下载到客户端.客户端也可以自定义, 修改部分服务配置信息. 如: 超时的时长, 调用的重试次数等.

1.2consumer

服务的消费者, 就是服务的客户端.

消费者必须使用 Dubbo 技术开发部分代码. 基本上都是配置文件定义.

[](

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

https://blog.csdn.net/qq_38526573/article/details/88834018)1.3provider

服务的提供者, 就是服务端.

服务端必须使用 Dubbo 技术开发部分代码. 以配置文件为主.

1.4container

容器. Dubbo 技术的服务端(Provider), 在启动执行的时候, 必须依赖容器才能正常启动.

默认依赖的就是 spring 容器. 且 Dubbo 技术不能脱离 spring 框架.

在 2.5.3 版本的 dubbo 中, 默认依赖的是 spring2.5 版本技术. 可以选用 spring4.5 以下版本.

在 2.5.7 版本的 dubbo 中, 默认依赖的是 spring4.3.10 版本技术. 可以选择任意的 spring版本.

1.5monitor

监控中心,是 Dubbo 提供的一个jar工程.

主要功能是监控服务端(Provider)和消费端(Consumer)的使用数据的. 如: 服务端是什么,有多少接口,多少方法, 调用次数, 压力信息等. 客户端有多少, 调用过哪些服务端, 调用了多少次等.

2.Dubbo 架构图的执行流程


2.1Dubbo 执行流程
  1. start: 启动 Spring 容器时,自动启动 Dubbo 的 Provider

  2. register: Dubbo 的 Provider 在启动后自动会去注册中心注册内容.注册的内容包括:

1.1 Provider 的 IP

1.2 Provider 的端口.

1.3 Provider 对外提供的接口列表.哪些方法.哪些接口类

1.4 Dubbo 的版本.

1.5 访问 Provider 的协议.

  1. subscribe: 订阅.当 Consumer 启动时,自动去 Registry 获取到所已注册的服务的信息.

  2. notify: 通知.当 Provider 的信息发生变化时, 自动由 Registry 向 Consumer 推送通知.

  3. invoke: 调用. Consumer 调用 Provider 中方法

4.1 同步请求.消耗一定性能.但是必须是同步请求,因为需要接收调用方法后的结果.

  1. count:次数. 每隔 2 分钟,provoider 和 consumer 自动向 Monitor 发送访问次数.Monitor进行统计.

3.Dubbo 支持的协议


3.1Dubbo 协议(官方推荐协议)

| 特点 | 说明 |

| — | :-- |

| 优点 | 采用 NIO 复用单一长连接,并使用线程池并发处理请求,

减少握手和加大并发效率,性能较好(推荐使用) |

| 缺点 | 大文件上传时,可能出现问题(不使用 Dubbo 文件上传) |

3.2RMI(Remote Method Invocation)协议

| 特点 | 说明 |

| — | :-- |

| 优点 | JDK 自带的能力。可与原生 RMI 互操作,基于 TCP 协议 |

| 缺点 | 偶尔连接失败 |

3.3Hessian 协议

| 特点 | 说明 |

| — | :-- |

| 优点 | 可与原生 Hessian 互操作,基于 HTTP 协议 |

| 缺点 | 需 hessian.jar 支持,http 短连接的开销大 |

4.Dubbo 支持的注册中心


4.1Zookeeper(官方推荐)
  1. 优点:

支持分布式.很多周边产品.

  1. 缺点:

受限于 Zookeeper 软件的稳定性.Zookeeper 专门分布式辅助软件,稳定较优

4.2Multicast
  1. 优点:

去中心化,不需要单独安装软件.

  1. 缺点:

Provider 和 Consumer 和 Registry 不能跨机房(路由)

4.3Redis
  1. 优点:

支持集群,性能高

  1. 缺点:

要求服务器时间同步.否则可能出现集群失败问题.

4.4Simple
  1. 优点:

标准 RPC 服务.没有兼容问题

  1. 缺点:
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678470.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号