这里把ExchangeCodec和DubboCodec放一起来讲解dubbo传输的底层协议组成以及它的编码解码过程。 传输协议协议格式<header><bodydata>协议头 :header 是16个字节的定长数据 = 2 //short类型的MAGIC = (short) 0xdabb+ 1 //一个字节的消息标志位,用来表
转载
2024-03-20 19:54:32
40阅读
问题表现:如果consumer-A异步调用provider-B,而provider-B本身又调用了provider-C。当provider-B调用provider-C时,会变成异步。
问题原因:是否异步调用取决于RpcContext中async的值,其次才是服务本身的配置。当A调用B时,会把async=true传给B的RpcContext;B调用C时,虽
转载
2024-06-28 20:58:36
48阅读
前段时间因为用到了Dubbo的接口,所以学习了一下Zookeeper+Dubbo的RPC调用方式,总结了一篇Blog【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发,之前写这篇Blog的时候用的还是Dubbo2.7,今天就来学习下Dubbo的最新版本Dubbo3,实践部分还是基于Dubbo2.7。是什么:Dubbo是什么,基本概念是什么为什么:为什
学习目标了解应用架构演进过程了解RPC远程调用方式掌握Dubbo框架的架构【重点】掌握Zookeeper注册中心的基本使用掌握Dubbo生产者和消费者的开发【重点】了解Dubbo的管理控制台的使用了解Dubbo的相关配置了解Dubbo的负载均衡(4种)了解Dubbo的配置中心(难点 代码 Watch)1. 应用架构的演进过程 【了解】1.1 主流的互联网技术特点分布式、高并发、集群、负载均衡、高可
1. 安装zookeeper: 官网下载最新的zk, 我这里安装的是apache-zookeeper-3.9.2-bin.tar.gzApache ZooKeeper很简单,上传到指定目录,解压(tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz),到bin目录下执行启动命令#启动
./zkServer.sh start
#查看状态
./zkServer.sh
上下文信息上下文中存放的是当前调用过程中所需的环境信息。首先RpcContext是线程级的,每个线程一份。RpcContext 是一个 ThreadLocal 的临时状态记录器,当接收到 RPC 请求,或发起 RPC 请求时,RpcContext 的状态都会变化。比如:A 调 B,B 再调 C,则 B 机器上,在 B 调 C 之前,RpcContext 记录的是 A 调 B 的信息,在 B 调 C
转载
2024-03-07 13:23:43
96阅读
文章目录一、前言二、简易demo三、源码分析1. AbstractClusterInvoker2. ConsumerContextFilter3. ContextFilter四、总结1. 个人的疑问 一、前言本系列为个人Dubbo学习笔记,内容基于《深度剖析Apache Dubbo 核心技术内幕》, 过程参考官方源码分析文章,仅用于个人笔记记录。本文分析基于Dubbo2.7.0版本,由于个人理解
转载
2024-05-06 11:02:05
333阅读
这几天又学到了新知识:dubbo框架此框架很好的解决了我之前的Netty微服务框架中遇到的服务注册、管理的问题。于是拿来学学官网地址:http://dubbo.io/ 1、服务端的配置:dubbo可以与spring良好的结合,所以服务端的配置就比较简洁:<dubbo:application name="match-provider" />
<dubbo:prot
说明:内容主要来至于官方文档官方文档地址: https://dubbo.apache.org/配置优先级:Dubbo支持的配置来源,默认有四种配置来源:JVM System Properties,-D参数Externalized Configuration,外部化配置ServiceConfig、ReferenceConfig等编程接口采集的配置本地配置文件dubbo.properties
转载
2024-02-28 14:08:19
364阅读
两个微服务之间通过dubbo调用时,除了通过在方法中添加参数传递变量之外,如果有些公用变量,如用户session的信息,那么可以通过RpcContext来调用,今天我们来聊一下RpcContext的工作原理。首先看RpcContext中的一段代码:public class RpcContext {
private static final ThreadLocal<RpcContex
转载
2024-04-24 23:13:51
82阅读
1 Dubbo启动时检查、集群容错、负载均衡、线程模型的设置以及选项: 启动时检查:(1)Dubbo默认会在启动的时候检查依赖的服务是否可用,不可用时会抛出异常。阻止Spring初始化完成。以便上线时能及早发现问题。(2)默认check="true"dubbo.properties可以直接配置:dubbo.reference.check=false,
转载
2024-02-27 21:17:17
30阅读
1、dubbo协议Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。Dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。<dubbo:protocol name="dubbo" port="20880" />设置默认协议:<dubbo:provider protocol
Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。
连接个数:单连接
连接方式:长连接
传输协议:TCP
传输方式:NIO异步传输
序列化:Hessian二进制序列化
适用范围:传入传出参数数据包较小(建议小于100K),
转载
2024-09-06 16:18:31
38阅读
package com.ght.park.biz.api.filter;import com.alibaba.fastjson.JSON;import com.ght.park.biz.api.shiro.JwtUtil;imp
原创
2023-02-20 10:35:57
230阅读
什么是灰度发布灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期
转载
2024-08-29 22:50:58
198阅读
JS高级 学习笔记 day28 2021-5-171.2 Express框架特性提供了方便简洁的路由定义方式对获取HTTP请求参数进行了简化处理对模板引擎支持程度高,方便渲染动态HTML页面提供了中间件机制有效控制HTTP请求拥有大量第三方中间件对功能进行扩展2.1 什么是中间件中间件就是一堆方法,可以接受客户端发来的请求、可以对请求作出响应,也可以将请求继续交给下一个中间件继续处理中间件主要有两
文章目录一、前言二、 Dubbo 协议三、 编解码器的注入1. 消费者的注入时机2. 提供者的注入时机四、NettyCodecAdapter1. InternalEncoder1.1 调用时机2. InternalDecoder2.1 调用时机3. NettyCodecAdapter#codec五、DubboCountCodec1. DubboCodec#encode1.1 ExchangeCo
转载
2024-08-22 07:42:02
173阅读
# 鸿蒙 extraData参数传递失败
## 引言
在鸿蒙开发中,我们经常需要通过不同页面之间传递数据。鸿蒙提供了extraData参数来实现这个功能,但有时会出现extraData参数传递失败的情况。本文将介绍extraData参数的使用方式,并分析可能导致extraData传递失败的原因。
## extraData参数简介
extraData参数是鸿蒙框架提供的一种页面间传递数据的方
原创
2024-01-16 02:15:48
370阅读
RPC即远程程序调用RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/服务器模式。请求程序就是一个
RpcContext内部有一个ThreadLocal变量,它是作为ThreadLocalMap的key,表明每个线程有一个RpcContext。 1. RpcContext的一种用法是:存放Future。Future封装了consumer的请求和响应,发送请求时会创建Future对象,此时响应是nu
原创
2022-11-15 15:02:55
48阅读