面试官心理分析继续深问吧,这些都是用 dubbo 必须知道的一些东西,你得知道基本原理,知道序列化是什么协议,还得知道具体用 dubbo 的时候,如何负载均衡,如何高可用,如何动态代理。说白了,就是看你对 dubbo 熟悉不熟悉:dubbo 工作原理:服务注册、注册中心、消费者、代理通信、负载均衡;网络通信、序列化:dubbo 协议、长连接、NIO、hessian 序列化协议;负载均衡策
转载
2024-07-08 10:41:15
19阅读
一、mysql事务 事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎可以成功执行该组全部语句,那么就执行该组语句。如果其中有任何一条语句不能执行,那么所有的语句都不会执行。也就是说,事务内的语句要么全部执行成功,要么全部执行失败。1、事务的ACID特性 事务需要系统严格的支持ACID特性,ACID表示原子性、一致性、隔离性和
SpringCloud Alibaba集成Dubbo实现远程服务间调用工程创建一、创建springBoot分模块项目,父工程:springcloud-alibaba以及子模块product-dubbo-provider、order-dubbo-consumer等项目基本结构图如下所示:二、依赖引入在以上两个子模块的pom.xml文件中分别引入如下依赖:<dependency>
转载
2024-04-17 13:57:38
225阅读
谨慎参考
原创
2022-01-14 13:57:04
419阅读
简介dubbo服务引用有两个时机:Spring 容器调用 ReferenceBean 的 afterPropertiesSet 方法时引用服务第二个是在 ReferenceBean 对应的服务被注入到其他类中时引用第一个引用时机是饿汉式的,第二个是懒汉式的。默认使用懒汉式的。如果需要使用饿汉式,可通过配置 <dubbo:reference> 的 init 属性开启。init=true。
转载
2024-04-05 08:39:12
39阅读
首先会分析Dubbo是如何进行远程服务调用的,如果不了解dubbo的服务暴露和服务调用,请去看前两篇dubbo的文章,然后后面我还会说一下dubbo的SPI机制当我们在使用@reference 注解的时候,来调用我们的提供者的Service对象的时候,Dubbo中的服务调用是怎么实现的Dubbo的远程服务调用(1)首选Dubbo是通过Poxy对象来生成一个代理对象的具体实现是在ReferenceC
转载
2024-03-03 13:41:14
73阅读
远程调用——开篇
目标:介绍之后解读远程调用模块的内容如何编排、介绍dubbo-rpc-api中的包结构设计以及最外层的的源码解析。
前言最近我面临着一个选择,因为dubbo 2.7.0-release出现在了仓库里,最近一直在进行2.7.0版本的code review,那我之前说这一系列的文章都是讲述2.6.x版本的源代码,我现在要不要选择直接开始讲解2.7.0的版本的源码呢?我最后还
转载
2024-07-29 15:20:43
56阅读
我们在日常使用dubbo实现rpc时,都会通过引用提供者提供的jar包中的接口,在我们需要调用的类中,注入该接口的一个实现bean,通过调用该bean的方法来完成一次rpc调用,使用方式非常简单,但是大家有没有想过dubbo是如何实现这个功能的呢?@Component("demoServiceComponent")
public class DemoServiceComponent impleme
转载
2024-05-01 20:20:26
23阅读
服务端暴露过程在spring整合dubbo中,NamespaceHandler和DubboBeanDefinitonParser完成解析工作,服务提供两个Bean,一个给本地spring容器,另一个交给dubboserviceBean实现了AppliactionListener<ContextRefreshEvent>,onApplicationEvent方法监听ContextRefr
转载
2024-02-20 18:42:41
83阅读
@Transactional 内部调用例子在 Spring 的 AOP 代理下,只有目标方法由外部调用,目标方法才由 Spring 生成的代理对象来管理,这会造成自调用问题。 若同一类中的其他没有@Transactional 注解的方法内部调用有@Transactional 注解的方法,有@Transactional 注解的方法的事务被忽略,不会发生回滚@Service
public class
转载
2023-10-20 16:51:33
270阅读
目录架构演进分布式与RPCDubbo的使用启动式检查只订阅/只发布分组/多版本控制限流多协议声明式缓存延迟暴露隐式参数传递泛化调用异步调用编辑Mock服务降级本地存根应用/配置实践Dubbo的原理架构设计URL BusSPI扩展点 Java SPI Dubbo SPI服务限流集群容错failfast failoverfailsafefailbackforkingbro
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。主要核心部件:Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.RPC: (Remote Procedure Call Protocol远程过程调用
转载
2023-07-24 16:55:39
78阅读
过程说明dubbo消费者调用接口,将请求封装为Request;
每个Request都有一个ID,是自增的,此ID会关联下面生成的Future,用于收到接口响应后的回调,对应步骤21。
2. 发送请求,直接返回ResponseFuture(实现为DefaultFuture);
dubbo调用默认为同步方式,即future.get()。
3. 此步骤默认使用Netty
转载
2024-06-17 05:06:49
28阅读
在使用dubbo异步调用方法,遇到一个坑,类似于这个描述场景:客户端远程异步调用ServiceA,ServiceA在处理客户端请求的过程中需要远程同步调用ServiceB,ServiceA从ServiceB的响应中取数据时,得到的是null。网上找到的解决方法,感谢作者解惑,在这里记录一下,原文请参考: d
转载
2024-04-23 16:27:41
228阅读
关于dubbo简介:Dubbo的介绍Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架,可以和Spring框架无缝集成。Dubbo提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现Dubbo架构图简介架构说明关于虚线和实线:虚线表示异步,实现表示同步。异步不影响线程阻塞,同步必须等待
转载
2024-07-23 13:39:51
42阅读
今天来复习一下RPC(远程过程调用)框架的典型实现Dubbo 什么叫远程方法调用呢?顾名思义,在这里就是消费者远程调用服务器的方法。 apache官网的Dubbo 框架已经很形象的展示了具体的调用过程: 简单分析主要分为三个部分:服务提供者、服务消费者、注册中心。整体的思路是:服务提供者启动后,会向注册中心注册提供者信息(包括IP地址,服务名,方法定义等),之后服务消费者启动后,会向注册中心订阅服
转载
2024-06-06 23:17:29
79阅读
Springboot的@Transcational 事务会存在失效场景,要想了解SpringBoot的事务需要先了解一下SpringBoot的事务回滚是对哪些Exception有效的,从源码来看SpringBoot只会对RuntimeException进行回滚,除非指定了回滚类型为Exception,就能对所有的Exception进行回滚。一、异常说明异常的层次结构:java.lang.Throw
转载
2023-09-30 10:28:31
169阅读
今天打算来讲一讲 Dubbo 服务远程调用。笔者在开始看 Dubbo 远程服务相关源码的时候,看的有点迷糊。后来慢慢明白 Dubbo 远程服务的调用的本质就是动态代理模式的一种实现。本地消费者无须知道远程服务具体的实现,消费者和提供者通过代理类来进行交互!!一、JAVA 动态代理简单看一段代码回顾一下动态代理:public class MyInvocationHandler implements
转载
2023-11-02 06:48:57
57阅读
自定义标签首先自定义标签 。这边自定义在META-INF下文件名称为soa.xsd<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.zhuguangedu.com/schema/soa"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" t
转载
2024-06-13 12:56:32
43阅读
作者: 白文志 (来自开源社区)服务提供者暴露一个服务的详细过程上图是服务提供者暴露服务的主过程:首先ServiceConfig类拿到对外提供服务的实际类ref(如:HelloWorldImpl),然后通过ProxyFactory类的getInvoker方法使用ref生成一个AbstractProxyInvoker实例,到这一步就完成具体服务到Invoker的转化。接下来就是Invoke
转载
2023-07-18 11:05:35
22阅读