学习目标了解应用架构演进过程了解RPC远程调用方式掌握Dubbo框架的架构【重点】掌握Zookeeper注册中心的基本使用掌握Dubbo生产者和消费者的开发【重点】了解Dubbo的管理控制台的使用了解Dubbo的相关配置了解Dubbo的负载均衡(4种)了解Dubbo的配置中心(难点 代码 Watch)1. 应用架构的演进过程 【了解】1.1 主流的互联网技术特点分布式、高并发、集群、负载均衡、高可
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阅读
前段时间因为用到了Dubbo的接口,所以学习了一下Zookeeper+Dubbo的RPC调用方式,总结了一篇Blog【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发,之前写这篇Blog的时候用的还是Dubbo2.7,今天就来学习下Dubbo的最新版本Dubbo3,实践部分还是基于Dubbo2.7。是什么:Dubbo是什么,基本概念是什么为什么:为什
问题表现:如果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调用,dubbo看起来很简单,但是却让我们调试了好久啊! 下面是调试纪录:1. 调用该服务时,直接调不通,查看错误为 no provider ? 然后就去查看该部门的服务是不是部署了最新的代码,并重新打包部署。 结果还是不行。然后去查看代码,发现暴露该接口的配置部分,由于某种原因,被注释掉了,哎呀,我去。 将暴露该接口的配置打开,重新部署,
转载
2024-04-05 13:45:50
44阅读
对dubbo的协议的学习,可以知道目前主流RPC通信大概是什么情况,本文参考dubbo官方文档http://dubbo.io/User+Guide-zh.htm dubbo共支持如下几种通信协议:dubbo://rmi://hessian://http://webservice://thrift://memcached://redis:// dubbo协议:&nbs
转载
2024-05-25 11:44:52
33阅读
01-Dubbo-入门相关概念:分布式简要说明Dubbo是用于分布式系统的框架 “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”1、应用架构及发展演变Dubbo和SpringCloud对比2、单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。适用于小型网站,小型管理系统,
1 Dubbo启动时检查、集群容错、负载均衡、线程模型的设置以及选项: 启动时检查:(1)Dubbo默认会在启动的时候检查依赖的服务是否可用,不可用时会抛出异常。阻止Spring初始化完成。以便上线时能及早发现问题。(2)默认check="true"dubbo.properties可以直接配置:dubbo.reference.check=false,
转载
2024-02-27 21:17:17
30阅读
两个微服务之间通过dubbo调用时,除了通过在方法中添加参数传递变量之外,如果有些公用变量,如用户session的信息,那么可以通过RpcContext来调用,今天我们来聊一下RpcContext的工作原理。首先看RpcContext中的一段代码:public class RpcContext {
private static final ThreadLocal<RpcContex
转载
2024-04-24 23:13:51
82阅读
dubbo是一个rpc框架,用来进行微服务化数据传输的,比如我们把web层和service层分开,放在两个服务器上面,那么这本来是一个完整的系统,现在分开了,如何调用原本的功能呢?这就使用dubbo把他们连起来,进行服务调用的传输! dubbo这里就把service层作为服务提供者(因为一般都是web层调用service),然后w
转载
2024-04-05 09:02:55
303阅读
dubbo服务发布之后,我们可以利用telnet命令进行调试、管理。Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我以通过实例抛砖引玉一下:1.连接服务 测试对应IP和端口下的dubbo服务是否连通,cmd命令如下 telnet localhost 20880 正常情况下,进入telnet窗口,键入回车进入
转载
2024-05-05 22:02:34
1031阅读
学最好的别人,做最好的我们公司之前有一个 Dubbo 服务,其内部封装了腾讯云的对象存储服务 SDK,目的是统一管理这种三方服务的SDK,其他系统直接调用这个对象存储的 Dubbo 服务。这样可以避免因平台 SDK 出现不兼容的大版本更新,从而导致公司所有系统修改跟着升级的问题。想法是好的,不过这种做法并不合适,因为 Dubbo 并不适合传输文件。好在这个系统在上线不久就没人用废弃了……虽然系统废
什么是灰度发布灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期
转载
2024-08-29 22:50:58
198阅读
情景 1 . dubbo入参消费者端无缺失,dubbo提供者接受参数有缺失 解决方案 dubbo提供者接受dto内层外层存在相同字段,相同字段接受参数缺失 原因 dubbo默认使用的序列化方式是hession -- 序列化 public static byte[] serialize(Object ...
转载
2021-08-26 15:19:00
831阅读
2评论
先看下dubbo在serialize层的类设计方案 序列化方案的入口,是接口Serialization的实现类。/**
* Serialization. (SPI, Singleton, ThreadSafe)
* 默认扩展方案是 hessian2 也是dubbo协议默认序列化实现
* @author ding.lid
* @author william.liangf
*/
@SPI
转载
2024-07-22 16:44:14
71阅读
这里把ExchangeCodec和DubboCodec放一起来讲解dubbo传输的底层协议组成以及它的编码解码过程。 传输协议协议格式<header><bodydata>协议头 :header 是16个字节的定长数据 = 2 //short类型的MAGIC = (short) 0xdabb+ 1 //一个字节的消息标志位,用来表
转载
2024-03-20 19:54:32
40阅读
RpcContext内部有一个ThreadLocal变量,它是作为ThreadLocalMap的key,表明每个线程有一个RpcContext。 1. RpcContext的一种用法是:存放Future。Future封装了consumer的请求和响应,发送请求时会创建Future对象,此时响应是nu
原创
2022-11-15 15:02:55
48阅读
文章目录一、前言二、简易demo三、源码分析1. AbstractClusterInvoker2. ConsumerContextFilter3. ContextFilter四、总结1. 个人的疑问 一、前言本系列为个人Dubbo学习笔记,内容基于《深度剖析Apache Dubbo 核心技术内幕》, 过程参考官方源码分析文章,仅用于个人笔记记录。本文分析基于Dubbo2.7.0版本,由于个人理解
转载
2024-05-06 11:02:05
333阅读
使用Dubbo的RpcContext居然那么多坑!Dubbo RpcContext如何使用?Dubbo RpcContext实现原理?
原创
2022-08-04 16:32:40
1790阅读
概述治理和维护各个分系统参考官网:http://dubbo.apache.org/zh-cn/docs/user/references/registry/introduction.html (可中英文切换) 下载安装Zookeeperlinux 使用docker部署windows: 参考(),下载的zookeeper目录中需要包含lib(内置jar包,否则需要自己导入) 1