dubbo--03--- dubbo 支持的9种协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


Dubbo框架

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

特性

  1. 透明化的远程方法RPC调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
  2. 软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
  3. 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。

Dubbo 和 Spring Cloud区别

  1. 通信方式不同:Dubbo 使用的是 RPC 通信,而Spring Cloud 使用的是HTTP RESTFul 方式。
  2. 组成不一样
    – dubbo的服务注册中心为Zookeerper,服务监控中心为dubbo-monitor,无消息总线、服务跟踪、批量任务等组件;
    – Spring Cloud的服务注册中心为spring-cloud netflix enruka Nacos,服务监控中心为spring-boot admin,有消息总线、数据流、服务跟踪、批量任务等组件;

dubbo 支持的9种协议

协议类型

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。

  1. dubbo 协议 (默认)
  2. rmi 协议
  3. hessian 协议
  4. http 协议
  5. webservice 协议
  6. thrift 协议
  7. memcached 协议
  8. redis 协议
  9. rest ( 就是 RestFull)

1、dubbo 协议 (默认)

1、dubbo 缺省协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况
2、不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。

缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。

特性
  • 连接个数:单连接
  • 连接方式:长连接
  • 传输协议:TCP
  • 传输方式:NIO异步传输
  • 序列化:Hessian 二进制序列化
  • 适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者无法压满 - 提供者,尽量不要用dubbo协议传输大文件或超大字符串。
  • 适用场景:常规远程服务方法调用
配置
<!--配置协议: -->
<dubbo:protocol name="dubbo" port="20880" />

<!--设置默认协议: -->
<dubbo:provider protocol="dubbo" />

<!-- 设置服务协议: -->
<dubbo:service protocol="dubbo" />

<!-- 多端口 -->
<dubbo:protocol id="dubbo1" name="dubbo" port="20880" />
<dubbo:protocol id="dubbo2" name="dubbo" port="20881" />

<!-- 配置协议选项: -->
<dubbo:protocol name=“dubbo” port=“9090” server=“netty” client=“netty” codec=“dubbo” 
				serialization=“hessian2” charset=“UTF-8” threadpool=“fixed” threads=“100”
		 		queues=“0” iothreads=“9” buffer=“8192” accepts=“1000” payload=“8388608” />


在这里插入图片描述
在这里插入图片描述

常见问题

在这里插入图片描述

2、rmi 协议

在这里插入图片描述
在这里插入图片描述

3、hessian 协议

在这里插入图片描述

4、http 协议

基于http表单的远程调用协议。参见:[HTTP协议使用说明]

特性
  • 连接个数:多连接
  • 连接方式:短连接
  • 传输协议:HTTP
  • 传输方式:同步传输
  • 序列化:表单序列化 ,即 json
  • 适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或URL传入参数,暂不支持传文件。
  • 适用场景:需同时给应用程序和浏览器JS使用的服务。
    在这里插入图片描述
    在这里插入图片描述

5、webservice 协议

在这里插入图片描述
在这里插入图片描述

6、thrift 协议在这里插入图片描述

7、memcached 协议

在这里插入图片描述

8、redis 协议

在这里插入图片描述

9、rest ( 就是 RestFull)

基于标准的Java REST API——JAX-RS 2.0(Java API for RESTful Web Services的简写)实现的REST调用支持

面试题

在这里插入图片描述
在这里插入图片描述

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
dubbo-admin-0.0.1-snapshot.jar 是一个Dubbo框架的管理工具。Dubbo是一高性能的分布式服务框架,用于构建微服务架构。Dubbo-admin提供了一个图形化界面,用于管理和监控Dubbo框架下的微服务。 dubbo-admin-0.0.1-snapshot.jar 将Dubbo的主要功能封装在一个可执行的JAR文件中,方便安装和部署。它提供了以下几个主要功能: 1. 服务管理:Dubbo-admin可以展示当前Dubbo框架中已注册的所有服务,包括服务的接口、提供者和消费者信息。它可以帮助开发人员和运维人员了解系统中的服务情况,识别问题和解决故障。 2. 消费者监控:Dubbo-admin可以实时监控消费者对服务的调用情况,包括调用次数、成功率、调用耗时等指标。通过监控消费者行为,可以发现潜在的性能瓶颈和系统故障,并及时采取措施加以解决。 3. 负载均衡:Dubbo-admin提供了负载均衡配置的功能,可以根据不同的负载均衡策略来分配服务请求到不同的提供者。这可以帮助开发人员根据不同的业务需求配置合适的负载均衡策略,提高系统的性能和可靠性。 4. 配置管理:Dubbo-admin可以管理Dubbo框架的各配置,包括注册中心、协议和服务等。通过配置管理,开发人员可以根据具体需求进行灵活的设置和调整,以满足不同的业务场景。 总的来说,dubbo-admin-0.0.1-snapshot.jar 是一个方便管理和监控Dubbo框架下微服务的工具。它提供了服务管理、消费者监控、负载均衡和配置管理等功能,帮助开发人员和运维人员更好地了解和管理系统的服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值