背景 我在公司内负责自研的dubbo注册中心相关工作,群里经常接到业务方反馈dubbo接口注销报错.经排查,确定是同一个接口调用了两次注销接口导致,由于我们的注册中心注销接口不能重复调用,调用第二次会因为实例已经注销而报实例找不到的错误. 虽然这个报错仅会打印一条错误日志,不影响业务,但本着 follow through的精神,我决定还是一探究竟,更何况重复注销也增加了应用的结束时间,影响了发布回滚速度. 问题复现 拿到业务方的dubbo版本,基于开源2.7.3内部定制的一个版本,该版本修改主要…
大家好,我是坤哥 我们常说面试造火箭,很多人对此提出质疑,相信大家看了这篇文章会明白面试造火箭的道理,这篇排查问题的技巧涉及到索引,GC,容器,网络抓包,全链路追踪等基本技能,没有这些造火箭的本事,排查这类问题往往会无从下手,本篇也能回答不少朋友的问题:为什么学 Java 却要掌握网络,MySQL等其他知识体系,这会让你成为更出色的工程师哦. 一. 问题现象 商品团队反馈,会员部分 dubbo 接口偶现超时异常,而且时间不规律,几乎每天都有,商品服务超时报错如下图: 超时的接口平时耗时极短,平均…
本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文件为: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&quo…
当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况 通过和开发对接,目前消息服务是通过dubbo接口对内提供服务,所以才有了这边文章的记录 最初的压测这个dubbo接口有三种思路: 1.第一种就是基于业务,比如注册业务,注册成功后,会发送短信消息到用户手机,通过业务调用消息服务,最容易实现,但是业务瓶颈最大导致测试结果不准 2.第二种是通过将dubbo接口上面做一层包装,提供一个http接口访问dubbo接口,需要提供二次开发,需要时间,而且高并发下,需要部署在tom…
  最初的压测这个dubbo接口有三种思路: .第一种就是基于业务,比如注册业务,注册成功后,会发送短信消息到用户手机,通过业务调用消息服务,最容易实现,但是业务瓶颈最大导致测试结果不准 .第二种是通过将dubbo接口上面做一层包装,提供一个http接口访问dubbo接口,需要提供二次开发,需要时间,而且高并发下,需要部署在tomcat容器内部 .就是直接压测dubbo接口,这种测试的结果最准确,目前有开源的jmeter plguin sampler插件使用 第一步:源码下载:https://g…
引言 背景 单一应用架构 垂直应用架构 分布式服务架构 流动计算架构 为什么要用 Dubbo? 什么是分布式? 为什么要分布式? Dubbo 的架构 Dubbo 的架构图解 Dubbo 工作原理 Dubbo 的负载均衡策略 先来解释一下什么是负载均衡 再来看看 Dubbo 提供的负载均衡策略 Random LoadBalance(默认,基于权重的随机负载均衡机制) RoundRobin LoadBalance(不推荐,基于权重的轮询负载均衡机制) LeastActive LoadBalance…
接口需求 客户端输入uncleyong(当然,也可以输入其它字符串),服务端返回hello uncleyong 开发环境 jdk + idea + maven + zookeeper jdk安装 idea安装 maven安装 zookeeper安装 common开发 idea中创建模块dubbo-common 存放公共的实体类.接口 package com.uncleyong.dubbotest.service; public interface SayHelloToClient { publi…
需求:项目增加幂等 场景:1.三个项目:a .b.c2.a项目加幂等3.b项目dubbo调用项目a的时候超时没有获取返回结果,增加重试机制(非立即重试,3min or 5min 后重试)4.c项目是一个异步的job项目,用来接收mq,异步处理,管理task等. 方案:1.a项目设置请求流水id,将请求先存入redis缓存,处理完成之后更新redis中的状态,同一个流水id认为是重复提交,不进行业务处理,直接返回redis中的状态2.b项目捕获调用a项目的超时异常,存入redis队列3.c项目启动…
最近公司开发新的一套系统,开发出来的方案会基于dubbo分布式服务框架开发的,那么什么是dubbo,身为测试的我,第一眼看到这个,我得去了解了解dubbo是啥玩意,为开展的测试工作做准备,提前先学 dubbo的相关知识.   1.什么是dubbo Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质…
dubbo接口/性能测试 dubbo简介 zookeeper简介.安装及配置 dubbo服务端demo dubbo客户端调用 jmeter工程改造及接口调用 读取jmeter参数用于dubbo性能测试 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 其核心部分包含: 远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式 集群容错:提供基于接口方法的透明远程过程调用,包括多协议…