MQ,其实目的都是一样,就是应对系统的并发可以实现消峰和解耦的作用,类似于创建了一个线程异步操作,这一点可以了解一下一款优秀的并发框架(Disruptor),据说是每秒可以处理十万级数据, 目前据本人了解,有一个开源分布式事务框架Hmily使用了这个,实现了异步处理解耦的作用,也省去了不少代码 言归 ...
分类:
其他好文 时间:
2018-12-27 18:19:27
阅读次数:
246
图解Disruptor框架(一):初识Ringbuffer 概述1、 什么是Disruptor?为什么是Disruptor?Disruptor是一个性能十分强悍的无锁高并发框架。在JUC并发包中,号称是性能最好的ArrayBlockingQueue(简称:ABQ),在Disruptor的面前,也只能... ...
分类:
其他好文 时间:
2018-12-18 00:03:03
阅读次数:
160
背景 Disruptor是LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowl ...
分类:
其他好文 时间:
2018-11-17 20:40:42
阅读次数:
118
log4j2之日志记录器 详见官网配置说明: https://logging.apache.org/log4j/2.x/manual/async.html 1. 使所有记录器异步 Log4j-2.9及更高版本在类路径上需要disruptor-3.3.4.jar或更高版本。在Log4j-2.9之前,需 ...
分类:
其他好文 时间:
2018-10-22 16:37:44
阅读次数:
348
线程数:500个 每个线程日志输出次数: 500次 log4j2其实有两个输出异步日志的方式:AsyncLogger和AsyncAppend 他两的区别在于: AsyncLogger使用的是无锁高性能队列disruptor,底层是依赖数组实现的RingBuffer和CAS改变下标实现,并且不会出现伪 ...
分类:
其他好文 时间:
2018-10-12 01:21:21
阅读次数:
225
在并发编程过程中,我们大部分的焦点都放在如何控制共享变量的访问控制上(代码层面),但是很少人会关注系统硬件及 JVM 底层相关的影响因素。前段时间学习了一个牛X的高性能异步处理框架 Disruptor,它被誉为“最快的消息框架”,其 LMAX 架构能够在一个线程里每秒处理 6百万 订单!在讲到 Di ...
分类:
其他好文 时间:
2018-09-26 17:09:56
阅读次数:
216
原文地址:http://ifeve.com/ringbuffer/ 最近,我们开源了LMAX Disruptor,它是我们的交易系统吞吐量快(LMAX是一个新型的交易平台,号称能够单线程每秒处理数百万的订单)的关键原因。为什么我们要将其开源?我们意识到对高性能编程领域的一些传统观点,有点不对劲。我们 ...
分类:
其他好文 时间:
2018-09-26 13:00:08
阅读次数:
133
第1章 课程介绍(Java并发编程进阶课程) 什么是Disruptor?它一个高性能的异步处理框架,号称“单线程每秒可处理600W个订单”的神器,本课程目标:彻底精通一个如此优秀的开源框架,面试秒杀面试官。本章会带领小伙伴们先了解课程大纲与重点,然后模拟千万,亿级数据进行压力测试。让大家感性认知到D ...
分类:
编程语言 时间:
2018-09-14 01:11:28
阅读次数:
309
第1章 课程介绍(Java并发编程进阶课程)什么是Disruptor?它一个高性能的异步处理框架,号称“单线程每秒可处理600W个订单”的神器,本课程目标:彻底精通一个如此优秀的开源框架,面试秒杀面试官。本章会带领小伙伴们先了解课程大纲与重点,然后模拟千万,亿级数据进行压力测试。让大家感性认知到Di ...
分类:
编程语言 时间:
2018-09-08 19:00:34
阅读次数:
1600
OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的。
分类:
其他好文 时间:
2018-08-29 16:59:35
阅读次数:
101