Netty源码解析:writeAndFlush
Netty - Series 1这是一个后续打算进行长期更新的系列,每篇只包含相关的几个知识点,并不保证完全的准确性。那么作为第一篇,以我比较推崇的Netty框架作为开山作,并希望可以给大家带来一些比较少见但是又比较实用的东西。后续也没有什么特别长远的计划,大概率还是围绕着Netty、Rocket
一文讲透消息队列RocketMQ实现消费幂等
这篇文章,我们聊聊消息队列中非常重要的最佳实践之一:消费幂等。1 基础概念消费幂等是指:当出现 RocketMQ 消费者对某条消息重复消费的情况时,重复消费的结果与消费一次的结果是相同的,并且多次消费并未对业务系统产生任何负面影响。例如,在支付场景下,消费者消费扣款消息,对一笔订单执行扣款操
解锁 ElasticJob 云原生实践的难题
最近在逛ElasticJob官方社区时发现很多小伙伴都在头疼这个ElasticJob上云的问题,ElasticJob本就号称分布式弹性任务调度框架,怎么在云原生环境就有了问题了呢,这就要从Kubenertes和ElasticJob的一些状态化说起。
理解 RocketMQ 消息轨迹,看这一篇就够了
这篇文章,我们聊一聊 RocketMQ 的消息轨迹设计思路。查询消息轨迹可作为生产环境中排查问题强有力的数据支持 ,也是研发同学解决线上问题的重要武器之一。1 基础概念消息轨迹是指一条消息从生产者发送到 Broker , 再到消费者消费,整个过程中的各个相关节点的时间、状态等数据汇聚而成的完整
聊聊如何在Java应用中发送短信
很多业务场景里,我们都需要发送短信,比如登陆验证码、告警、营销通知、节日祝福等等。这篇文章,我们聊聊 Java 应用中如何优雅的发送短信。1 客户端/服务端两种模式Java 应用中发送短信通常需要使用短信服务提供商提供的短信 API 。我们经常使用的短信渠道有:阿里云、腾讯云、华为云、亿美
腾讯Ckafka队列使用测评
本文主要是测试Ckafka的性能如何,作为一款商用的消息中间件,从消息的接收和处理,以及监控维度查看消息中间件的使用方便程度,比起自己搭建一个kafka的框架来说有什么省心的地方和优点缺点。
1024 程序员节,圆一个小小的梦
Hope is a good thing, maybe the best of things, and no good thing ever dies.希望是件美丽的东西,也许是最好的东西,而美好的东西是永远不会消逝的。大家好,我是勇哥 。1024 , 程序员节,圆了我一个小小的梦。花
MQ系列16:MQ实现消息过滤处理
MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ 架构分析MQ系列4:NameServer 原理解析MQ系列5:RocketMQ消息的发送模式MQ系列6:消息的消费MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障
MQ系列15:MQ实现批量消息处理
MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ 架构分析MQ系列4:NameServer 原理解析MQ系列5:RocketMQ消息的发送模式MQ系列6:消息的消费MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障
两个实验让我彻底弄懂了「订阅关系一致」
这篇文章,笔者想聊聊 RocketMQ 最佳实践之一:保证订阅关系一致。订阅关系一致指的是同一个消费者 Group ID 下所有 Consumer 实例所订阅的 Topic 、Tag 必须完全一致。如果订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失。1 订阅关系演示首先我们展示正确
测试Activemq artemis队列生产消费ack场景优化版本
 文章目录前言架构设计名词说明生产10000数据总共耗时消费10000数据总共耗时最后单条消息消耗需要异步接收异步消费测试代码5000数据测试异步接收异步消费1万数据测试异步接收异步消费3万数据测试异
这次操作差点把自己送走
这次操作差点把自己送走起因自从RabbitMQ的版本从3.9.8升级到3.11.15之后就一直没有消停过,这不监控又在呼唤了。集群中的一个节点磁盘的增速超过了阈值,查看服务器进七天的磁盘使用量一直在缓慢的增长,不是一个好的预兆,如果一直增长下去就会触发集群的磁盘空间阻塞,这是最致命的,一旦由于磁
解密Transmittable-Thread-Local:让跨线程拷贝变得轻松自如
Java作为一门广泛应用的编程语言,其在跨线程拷贝方面的处理一直是一个令人头疼的问题。在多线程的应用场景中,经常需要将某些数据从一个线程传递到另一个线程,比如如下几个场景:全链路追踪:全链路追踪是一种用于监控和诊断分布式系统的技术。
超级详细的Nginx负载均衡配置 不看是你的损失哦~
什么是负载均衡假设生产环境只有一台服务器,一旦压力过大就很有可能导致Web服务响应缓慢,严重的可能会导致生产环境宕机。
Redis的过期键删除策略看这一篇就足够了
来个灵魂拷问:缓存解决能解决什么问题呢?
使用 SQL 的方式查询消息队列数据以及踩坑指南
为了让业务团队可以更好的跟踪自己消息的生产和消费状态,需要一个类似于表格视图的消息列表,用户可以直观的看到发送的消息;同时点击详情后也能查到消息的整个轨迹。
详解canal同步 MySQL 增量数据到 ES
canal 是阿里知名的开源项目,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。这篇文章,我们手把手向同学们展示使用 canal 将 MySQL 增量数据同步到 ES 。1 集群模式图中 server 对应一个 canal 运行实例 ,对应一个 JVM 。ser
记录一次dubbo项目实战
一、案例说明存在2个系统,A系统和B系统,A系统调用B系统的接口获取数据,用于查询用户列表。
测试Activemq artemis队列生产消费ack
 文章目录前言架构设计测试代码5000数据测试异步接收异步消费1万数据测试异步接收异步消费3万数据测试异步接收异步消费5万数据测试异步接收异步消费发送大小总结 前言这个测试主要
【全网首发】MQ系列14:MQ如何做到消息延时处理
MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ 架构分析MQ系列4:NameServer 原理解析MQ系列5:RocketMQ消息的发送模式MQ系列6:消息的消费MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障
面试官:我们来拉扯一下Spring Boot 最大连接数吧?
如果说我们来玩个文字游戏,当面试官问“一个 SpringBoot 项目能处理多少请求”的时候,我们可以从线程池的角度去答。但是当面试官问“一个 SpringBoot 项目能接受多少个连接”的时候,我们就不得不聊到刚刚提到的这两个参数了。
VictoriaLogs:一款超低占用的 ElasticSearch 替代方案
背景前段时间我们想实现 Pulsar 消息的追踪流程,追踪实现的效果图如下:实现其实比较简单,其中最重要的就是如何存储消息。消息的读取我们是通过 Pulsar 自带的 BrokerInterceptor 实现的,对这个感兴趣的朋友后面会单独做一个分享。根据这里的显示内容我们大概需要存储
测试Activemq artemis队列生产消费
@[toc]概要ActiveMQ Artemis是一个开源的消息中间件,它实现了JMS规范,支持多种协议和传输方式。它提供了一个高性能、可扩展、可靠的消息传递系统,适用于各种场景,包括云计算、大数据、企业集成等。可靠性高:ActiveMQ Artemis使用持久化存储来保证消息的可靠
RocketMQ生产环境出现故障,一起探究问题根因!
我遇到一个RocketMQ集群出现了一个十分诡异的现象,现象如下图所示:
【全网首发】Tomcat连接之KeepAlive逻辑分析
背景介绍我们的系统运行在阿里云上,负载均衡使用的SLB,应用运行环境使用的EDAS,Servlet容器使用的是taobao-tomcat-7.0.59。我们期望在停止应用之前,能够将已经与tomcat建立的连接安全的关闭掉,然后结合SLB的健康检查机制,实现停止应用前优雅的摘流能力,这样在应用停止
Elasticsearch 保姆级入门篇
Elasticsearch 是一个分布式的、面向生产规模工作负载优化的搜索引擎。Kibana 可以将 Elasticsearch 中的数据转化为直观的图表、图形和仪表盘。这篇文章,您将学习本地安装 Elasticsearch 和 Kibana,以及使用开发工具/ Java SDK 创建索引和搜
一篇文章告诉你对象存储底层的工作机制
大家好,我是威哥,《RocketMQ技术内幕》、《RocketMQ实战》作者、RocketMQ社区首席布道师、极客时间《中间件核心技术与实战》专栏作者、中通快递基础架构资深架构师,越努力越幸运,唯有坚持不懈,与大家共勉。1、MinIO集群拓扑结构MinIO可以部署到三种类型的
Linux中如何构建4块虚拟盘来搭建分布式MinIO集群?
大家好,我是威哥,《RocketMQ技术内幕》、《RocketMQ实战》作者、RocketMQ社区首席布道师、极客时间《中间件核心技术与实战》专栏作者、中通快递基础架构资深架构师,越努力越幸运,唯有坚持不懈,与大家共勉。由于最近刚接手对象存储相关系统的建设与稳定性运维,作为一个
详解Redisson分布式限流的实现原理
目前在工作中遇到一个性能问题,我们有个定时任务需要处理大量的数据,为了提升吞吐量,所以部署了很多台机器,但这个任务在运行前需要从别的服务那拉取大量的数据,随着数据量的增大,如果同时多台机器并发拉取数据,会对下游服务产生非常大的压力。
美团面试:宕机了,Redis 如何避免数据丢失?
最近抽空对之前写的 Redis 持久化机制进行了大幅完善,图文并茂,清晰易懂。分享一下,希望对你有帮助!
从 Pulsar Client 的原理到它的监控面板
前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。
Kafka是如何支持百万级TPS的?
内存是线性地址空间,kernel程序先进入内存,一进入内存就开启保护模式,然后进行空间和权限的划分。
Wireshark 的抓包和分析
WireShark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在网络封包和流量分析领域有着十分强大功能的工具,深受各类网络工程师和网络分析师的喜爱。本文主要内容包括:
一万七千字长文详解那些大数据面试中的kafka面试题
Kafka 的未来发展趋势将会围绕着更好的可观测性、数据治理和合规性、扩展性和灵活性、云原生支持、安全性和可靠性等方面展开
面试官:一个 SpringBoot 项目能处理多少请求?(小心有坑)
一个 SpringBoot 项目,未进行任何特殊配置,全部采用默认设置,这个项目同一时刻,最多能同时处理多少请求?
分布式服务必问,Kafka分区Leader选举过程
上篇文章讲了Kafka Controller的选举过程,Controller的选举是为了保证整个Kafka集群的高可用。今天讲一下Kafka Leader Replica(领导者副本)的选举过程, Leader Replica选举的目的是为了保证数据在分区副本之间的可靠传输和一致性。1. L
揭开 RocketMQ 事务消息的神秘面纱
事务消息是 RocketMQ 的高级特性之一,相信很多同学都对于其实现机制很好奇。这篇文章,笔者会从应用场景、功能原理、实战例子、实现细节四个模块慢慢为你揭开事务消息的神秘面纱。1 应用场景以电商交易场景为例,用户支付订单这一核心操作的同时会涉及到下游物流发货、积分变更、购物车状态清空等多
还不懂分布系统,速看Kafka Controller选举过程
了解到Kafka集群包含多个Broker节点,但是这些Broker节点的具体作用是什么?是怎么进行通信的?某个Broker节点挂了之后,Kafka集群是怎么进行故障转移,保持高可用的?
超简单的Kafka架构入门指南,看这一篇就够了
Kafka 可以处理多种类型的数据,如事件、日志、指标等,广泛应用于实时数据流处理、日志收集、监控和分析等领域。
RabbitMQ采坑记
RabbitMQ介绍RabbitMQ是一个高可用和数据安全的消息管理系统。在业务中多应用实现业务间交互的异步解耦,通过MQ中间件实现业务的削峰填谷,保障业务避免高峰期流量激增冲击。简单说就是类似Kafka、RokectMQ消息中间件的存在,但相较其他消息中间件RabbitMQ提供了友好的后台管理和
面试挂了,批量执行Redis命令的方式有哪些,谁能回答?
1. 引言1.1 创作初衷最近参加面试的时候,被问到一个关于Redis的问题:批量执行Redis命令的方式有哪些?突然被问到这个问题,我先是有点懵逼。最容易想到的是Redis的一些批量命令,例如MGET(同时获取多个key的value)、MSET(同时设置多个key-value键
高级Java程序员必问,Redis事务终极篇
1. 简介1.1 什么是Redis事务Redis事务(Transaction)通过将多个Redis操作封装为一个原子性的操作序列,确保在事务执行过程中,不会受到其他客户端的干扰。从而在保证数据一致性的同时,协调并发,提高数据操作的效率和性能。1.2 Redis事务的应用场景在分布式系
只需七步,教你轻松解决Redis热点Key问题
 1.什么是Redis热点KeyRedis热点key指的是访问频率较高的key,当大量的请求集中在一个或少数几个热点key上时,会导致这些key所在的Redis节点的CPU、内存和网络带宽等资源被大量消耗,影响Redis集群的整体性能和稳定性。2. 热点Key带来的问题
聊聊 RocketMQ 主从复制
提到主从复制,我们可能立马会联想到 MySQL 的主从复制。 MySQL 主从复制是 MySQL 高可用机制之一,数据可以从数据库服务器主节点复制到一个或多个从节点。 这篇文章,我们聊聊 RocketMQ 的主从复制,希望你读完之后,能够理解主从复制的精髓。
深度剖析分布式事务,轻松掌握实现原理与应用技巧!
相信大家都有多多少少接触过分布式事务,因为我们现在写的代码可是服务于亿级用户量级的,那么大的请求量级不可能全部写在一台服务器上面对吧
TCP/IP网络模型
在网络模型中有分为7层模型(OSI模型)和5层模型和TCP/IP模型OSI模型将应用层和表示层作为独立的两层,而TCP/IP模型将它们合并为一个应用层。
昨天去银行转钱,最后怒失300万
如果执行完步骤2, MySQL突然宕机了 ,那就会出现一个“灵异”事件,小埃钱少了300万,但小克账户并未收到300万,小埃没有还钱成功, 钱不翼而飞了 !

有开始,就会有进​步!

在追求性能的道路上,记录每一刻的成长!源码解读,编程技巧,外文翻译,技术实践,线上案例等等,记录自己,启发他人!

专家作者推荐

巡山小汪

关注微信公众号《解Bug之路》,有问题请在公众号中咨询:) 无论多么艰苦的时刻,都不要忘记,辉煌的未来,在你的眼中闪耀!

飞哥开发内功

《深入理解Linux网络》作者,腾讯搜狗十年工程师,公众号「开发内功修炼」作者!

踩刀诗人

聊聊技术,唠唠段子,偶尔做菜写诗,欢迎关注我的公众号 踩刀诗人

Brand

搜索关注微信公众号【架构与思维】:撰稿者为bat、字节的几位高阶研发/架构,专注技术分享。

专题推荐

本系列文章主要针对Dubbo2.6.2(dubbox2.8.4)版本,从源码的角度分析Dubbo内部的实现细节,加深对Dubbo的各配置参数底层实现原理的理解,更好的指导Dubbo实践。
11篇文章14468阅读量
GC(Garbage Collection)很大程度上帮助Java程序员解决了内存释放的问题,有了GC,就不需要再手动的去控制内存的释放。
12篇文章30275阅读量