dubbo的基本使用

author author     2023-02-23     546

关键词:

参考技术A 官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/loadbalance
如果在消费端和服务端都配置了负载均衡策略,以消费端为准。

在服务提供者和服务消费者上都可以配置服务超时时间,这两者是不一样的。

消费者调用一个服务,分为三步:
1.消费者发送请求(网络传输)
2.服务端执行服务
3.服务端返回响应(网络传输)

如果在服务端和消费端各配置了一个timeout,那就比较复杂了,假设
1.服务执行为5s
2.消费端timeout=3s
3.服务端timeout=6s
那么消费端掉用服务时,消费端会收到超时异常(因为消费端超时了),服务端一切正常(服务端没有超时)。

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/fault-tolerent-strategy/
集群容错表示:服务消费者在掉用某个服务时,这个服务有多个服务提供者,在经过负载均衡后选择其中一个服务提供者之后进行调用,但调用报错后,Dubbo所采取的后续处理策略。

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/example/service-downgrade/

服务降级表示:服务消费者在调用某个服务提供者时,如果该服务提供者报错了,所采取的措施。

集群容错和服务降级的区别在于:
1.集群容错时整个集群范围内的容错
2.服务降级时单个服务提供者的自身容错

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/local-stub/
本地存根:名字很抽象,但实际上不难理解,本地存根就是一段逻辑,这段逻辑是在服务消费端执行的,这段逻辑一般都是由服务提供者提供,服务提供者可以利用这种机制在服务消费者远程调用服务提供者之前或之后再做一些其他事情,比如结果缓存,请求参数验证等等。

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/local-mock
本地伪装就是Mock,Dubbo中的Mock的功能相对于本地存根更简单一点,Mock其实就是Dubbo中的服务容错的解决方案。

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/callback-parameter/
如果当前服务支持参数回调,意思就是对于某个服务接口中的某个方法,如果想支持消费者在调用这个方式时能设置回调逻辑,那么该方法就是需要提供一个入参用来表示回调逻辑
因为Dubbo协议是基于长连接,所以消费者在两次调用同一个方法想指定不同的回调逻辑,那么就需要在调用时在指定一定key进行区分。

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/async-call/
理解起来比较容易,主要要理解CompletableFuture,如果不理解,就直接把它理解为Future
其他异步调用方式: https://mp.weixin.qq.com/s/U3eyBUy6HBVy-xRw3LGbRQ

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/example/generic-reference/
泛化调用可以用来做服务测试。
在Dubbo中,如果某个服务想要支持泛化调用,就可以将该服务的generic属性设置为true,那对于服务消费者来说,就可以不用依赖该服务的接口,直接利用GenericService接口来进行服务调用

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/generic-service/
实现了GenericService接口就是泛化服务

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/rest/

github地址: https://github.com/apache/dubbo-admin

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/examples/config-rule/
注意动态配置修改的是服务参数,并不能修改服务的协议,IP,PORT,VERSION,GROUP,因为这5个信息是服务的标识信息,是服务的身份证号,是不能修改的。

官网地址: http://dubbo.apache.org/zh/docs/v2.7/user/example/routing-rule/

https://zhuanlan.zhihu.com/p/42671353

dubbo的基本使用

参考技术A官网地址:http://dubbo.apache.org/zh/docs/v2.7/user/examples/loadbalance如果在消费端和服务端都配置了负载均衡策略,以消费端为准。在服务提供者和服务消费者上都可以配置服务超时时间,这两者是不一样的。消费者调用一个服... 查看详情

dubbo基本原理机制

client一个线程调用远程接口,生成一个唯一的ID(比如一段随机字符串,UUID等),Dubbo是使用AtomicLong从0开始累计数字的将打包的方法调用信息(如调用的接口名称,方法名称,参数值列表等)&#... 查看详情

springcloud学习-基本的soa示例

...的朋友,看到下面这张图,一定很熟悉,就是SOA架构的最基本套路。与dubbo对比,上图的3大要素中,springcloud是借助以下组件来实现的:1、注册中心:springcloud默认使用eurekaserver来做注册中心,而dubbo默认使用的是zookeeper。eureka... 查看详情

介绍说明」dubbo3新特性概览的介绍说明

...系列专题是关于Dubbo的简单介绍,涵盖Dubbo的核心概念、基本使用方式以及Dubbo3核心功能。Dubbo的基本介绍ApacheDubbo是一款微服务开发框架,它提供了RPC通信与微服务治理两大关键能力。使用Dubbo开发的微服务,将具备相互之间的... 查看详情

对dubbo的一些理解

 因为前几年的公司业务比较小,基本上不涉及分布式框架。随着业务的扩展,系统规模越来越大,垂直拆分系统结构势在必行。在前期的技术选型后,我们决定使用dubbo来实现分布式系统调用。下面我个人谈谈对... 查看详情

dubbo的正确打开方式之基本接口定义及异常处理(代码片段)

为什么要写这篇文章呢?因为公司在使用Dubbo时并没有对Dubbo的用法做深入的了解,而是属于拿来就用,随着自己的想法来使用。这样很不好,就像天龙八部的鸠摩智练习错误的六脉神剑一样,方式不对,... 查看详情

dubbo——初识dubbo框架使用直连方式实现dubbo(代码片段)

文章目录:1.Dubbo概述1.1基本架构1.2dubbo支持的协议2.直连方式实现dubbo2.1服务提供者的创建2.2服务消费者的创建2.3启动测试!!!1.Dubbo概述ApacheDubbo(incubating)|ˈdʌbəʊ|是一款高性能、轻量级的开源JavaRPC框架,它... 查看详情

dubbo基本原理和用法讲解(代码片段)

Dubbo基本原理和用法讲解序言:学习一项新技术,一般从是什么、为什么、怎么用三个方面进行学习。本篇文章也不例外,笔者将从Dubbo是什么?、为什么会产生Dubbo技术?、如何在项目中使用Dubbo技术。最后&#x... 查看详情

dubbo+zookeeper小例子

...仅是测试项目,并不完善,只实现了需要使用的基本功能,并且只提供了使用dubbo模块的代码。写该博客一是希望能够帮助刚学习的新人,二是加深自己的印象,如 查看详情

dubbo的正确打开方式之基本接口定义及异常处理(代码片段)

为什么要写这篇文章呢?因为公司在使用Dubbo时并没有对Dubbo的用法做深入的了解,而是属于拿来就用,随着自己的想法来使用。这样很不好,就像天龙八部的鸠摩智练习错误的六脉神剑一样,方式不对,... 查看详情

java分布开发dubbo问题

...spring的容器里,裸的应用也可以启动。而且用dubbo的场合基本都是需要分布式的增删改查系统,所以tomcat容器也可以用。 查看详情

深入浅出dubbo3原理及实战「新特性简介」dubbo3新特性概览的介绍说明

...列专题是关于Dubbo的简单介绍,涵盖Dubbo的核心概念、基本使用方式以及Dubbo3核心功能。Dubbo的基本介绍ApacheDubbo是一款微服务开发框架,它提供了RPC通信与微服务治理两大关键能力。使用Dubbo开发的微服务,将具备相... 查看详情

对dubbo的一些理解

 因为前几年的公司业务比较小,基本上不涉及分布式框架。随着业务的扩展,系统规模越来越大,垂直拆分系统结构势在必行。在前期的技术选型后,我们决定使用dubbo来实现分布式系统调用。下面我个人谈谈对... 查看详情

dubbo简介

...现对多个相同服务的节点的请求负载均衡。Dubbo需要四大基本组件:Rigistry,Monitor,Provider,Consumer。1、监控中心的配置文件-dubbo.properties文件(1)容器,监控中心是在jetty和spring环境下运行,依赖于注册中心,日志系统是log4j ... 查看详情

dubbo接口测试dubbo接口调用jmeter调用dubbo接口,jmeter测试dubbo接口

...也可以使用Dubbo调用,如果考虑尽量不暴露出去,基本都会使用Dubbo调用。对于测试同学们很多不知道怎么测试验证为业务方提供的Dubbo接口功能是否正确?性能是否达标?安全方面是否合规?Dubbo接口测试和Htt... 查看详情

dubbo+zookeeper小例子

...仅是测试项目,并不完善,只实现了需要使用的基本功能,并且只提供了使用dubbo模块的代码。写该博客一是希望能够帮助刚学习的新人,二是加深自己的印象,如果忘了也可以再看看,有些片段是从其他... 查看详情

nacos的基本应用(springcloud)

参考技术A创建一个controller类可以看到拿到的是配置中心中的地址,如果改变了配置中心的值,不需要重启服务,不需要重新修改配置,返回值也会随之改变https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sqlpom引入依赖... 查看详情

dubbo泛化调用使用及原理解析

...服务。这个特性一般使用在网关类项目中,在业务开发中基本不会使用。假设我现在要调用下面的接口服务在xml文件做以下配置然后注入使用在两种调用方式中,我们都需要使用被调用接口的字符串参数生成GenericService,通过Gene... 查看详情