Disruptor
1 人感兴趣 · 17 次引用
- 最新
- 推荐
Disruptor 在撮合引擎的实践|得物技术
Disruptor是基于事件异步驱动模型实现的,采用RingBuffer数据结构,支持高并发、低延时、高吞吐量的高性能工作队列。用于解决内存队列的延迟问题,不同于常用分布式消息中间件RocketMQ、Kafka,而是单机的本地内存队列,类似JDK的ArrayBlockingQueue等队列。
Disruptor 高性能堆内队列 系列二
这里开始慢慢深入的讲一下 disruptor,首先是 lock free , 相比前面介绍的两个阻塞队列,disruptor 本身是不直接使用锁的,因为本身的设计是单个线程去生产,通过 cas 来维护头指针,不直接维护尾指针,这样就减少了锁的使用,提升了性能;第二个是这次重点
【优化技术专题】「线程间的高性能消息框架」深入浅出 Disruptor 的使用和原理
CPU 为了更快的执行代码。于是当从内存中读取数据时,并不是只读自己想要的部分。而是读取足够的字节来填入高速缓存行。根据不同的 CPU ,高速缓存行大小不同。如 X86 是 32BYTES ,而 ALPHA 是 64BYTES 。并且始终在第 32 个字节或第 64 个字节处对齐。
Disruptor 源码解读
本文适合对Disruptor框架和源码有初步了解的读者。 对Disruptor的运行机制在源码级别上做出解读。
volatile 关键字需要知道的几点
volatile 可见性,false sharing, lazyset 特性。
Cobar SQL 审计的设计与实现
回头来看对性能的极致追求可能或许过于"偏执",创造的收益在旁人眼里看来并没有那么大,加一台机器就能搞定的事情非要搞这么复杂。但这份“偏执”却是我们对技术最初的追求,生活不止眼前的苟且,还有诗和远方。
Disruptor 高效的秘密 -Sequencer
上篇文章已经讲过了 RingBuffer 了, RingBuffer 是消息的容器,但是 Disruptor 中最复杂的部分在于如何并发控制消息的增加和消费,而这部分由 Senquencer 来完成。