March 19, 2024
Arthas
命令
Commands
排查
线上诊断
一图胜千言
更多
January 18, 2024
OutOfMemoryError
OOM
Arthas
线上诊断
Dubbo
Connections
TCP连接
CPU飙升
Netty
NettyServer
GC
背景Dubbo服务上下游情况1.背景公司项目,Dubbo上游服务在元旦前夕流量突增,为应对突增流量带来的压力,上游(consumer)节点服务临时扩容一倍机器数量,而扩容操作完成之后,后续出现下游的部分(provider)节点服务器抛出异常,表现为下游机器的CPU使用率飙高达至大于100%的 ...
更多
February 26, 2021
Cache
Google
Aviator
Expression
表达式
缓存
内存膨胀
GC Overhead limit exceeded
OutOfMemoryError
OOM
背景Aviator简介Aviator是一个高性能、轻量级的基于Java实现的表达式引擎,它动态地将String类型的表达式编译成Java ByteCode并交给JVM执行。Aviator 的基本过程是将表达式直接翻译成对应的 java 字节码执行,整个过程最多扫两趟(开启执行优先模式,如果是 ...
更多
June 22, 2019
消息队列
分布式
异步
削峰
主从同步(HA)机制RocketMQ高可用方案RocketMQ的Broker分为Master与Slave两个角色,一般高可用方案,采取主从架构,具体也有一主一丛、多主多从(多对主从对)等部署方式,如图
主从架构的工作流程,就是在每台Broker配置他们的主从角色,同一个BrokerName的 ...
更多
June 15, 2019
消息队列
分布式
异步
削峰
RocketMQ 4.3 新版事务消息关于RocketMQ事务消息,之前有过一篇总结,此处再从编码实现上详细捋一捋。总体流程如下:
实现思路上就是两阶段提交(2PC)的思想,第一阶段是发送HalfMessage(或者说PreparedMessage),这种消息的特性是虽存储到Broker但未 ...
更多
June 8, 2019
消息队列
分布式
异步
削峰
消息被Producer发送到Broker后,消息消费端consumer既可请求broker拉取消息并开展消费处理。消息消费以组(Consumer Group)的模式开展,一个消费组内可以包含多个消费者,每一个Consumer Group可订阅多个Topic,Consumer Group之间有 ...
更多
June 2, 2019
消息队列
分布式
异步
削峰
存储概要设计每个Broker都对应有一个MessageStore,专门用来存储发送到它的消息,不过MessageStore本身不是文件,只是存储的一个抽象,MessageStore 中保存着一个 CommitLog,CommitLog 维护了一个 MappedFileQueue,而Mappe ...
更多
May 30, 2019
消息队列
分布式
异步
削峰
RocketMQ发送消息主流程RocketMQ发送消息主要流程:Producer在发送消息的时候,会根据消息的Topic,选出对应的路由信息,再挑选出具体某个队列,将消息发送至队列对应的Broker。
RocketMQ消息发送方式RocketMQ支持3种消息发送方式:同步(Sync)、异步( ...
更多
May 25, 2019
消息队列
分布式
异步
削峰
路由中心Namesrv设计Namesrv就是RocketMQ的路由中心,也就是路由元信息的管理中心。主要作用是为消息生产者(Producer)、消费者(Consumer)提供关于主题(Topic)的路由信息,那么,Namesrv需要存储路由的基础信息,还要能管理Broker节点,包括路由注册 ...
更多
May 18, 2019
消息队列
分布式
异步
削峰
调试环境及工具
JDK 1.8+
Maven
IDE工具(Eclipse/IntelliJ IDEA)
拉取源码RocketMQ的官方仓库 https://github.com/apache/rocketmq ,为方便调试,可以 Fork 出属于自己的仓库。使用 ...
更多