自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不能说的秘密的博客

求知若饥,虚心若愚

  • 博客(6)
  • 资源 (3)
  • 问答 (5)
  • 收藏
  • 关注

原创 美团开源分布式ID生成系统——Leaf源码阅读笔记(Leaf的号段模式)

Leaf 最早期需求是各个业务线的订单ID生成需求。在美团早期,有的业务直接通过DB自增的方式生成ID,有的业务通过redis缓存来生成ID,也有的业务直接用UUID这种方式来生成ID。以上的方式各自有各自的问题,因此我们决定实现一套分布式ID生成服务来满足需求。具体Leaf 设计文档见: leaf 美团分布式ID生成服务 。出于对该中间件的研究笔者建议下载源码阅读:github源码地址。L...

2019-10-31 22:14:51 2290 1

原创 高性能的异步处理框架Disruptor(五)——Disruptor2.0的应用

前文讲了那么多理论,原理。现在通过实际的代码,来看看Disruptor2.0的几种实际应用代码。Event事件定义:/** * Event,RingBuffer的数据 * @author wangxi * @date 2019-10-16 16:31 */@Slf4jpublic class DisruptorEvent implements Serializable { ...

2019-10-18 15:33:21 1084

原创 高性能的异步处理框架Disruptor(四)——Disruptor2.0的优化

现在读者应该能理解如下运行流程图了。如何还看不懂,则需要回顾上篇文章 Disruptor消费者的依赖关系Disruptor2.0主要变化有 3 点:更贴切的命名;把 producer barrier(生产者屏障)整合进了 ring buffer;将 Disruptor Wizard 加入了主代码库。对于上图的实现方案,在新版本的结构图大概如下:可以看到新版本更加简约,Pro...

2019-10-14 14:29:14 738

原创 高性能的异步处理框架Disruptor(三)——Disruptor消费者的依赖关系

前文解释了Disruptor的生产者,消费者的简单工作流程。接下来学习当Disruptor的多个消费者存在依赖关系时,Disruptor对RingBuffer中的消息如何按照消费者的依赖关系来处理。Disruptor系统的最初设计是为了支持需要按照特定的顺序发生的阶段性类似流水线事件,这种需求在企业应用系统开发中很常见。如上图所示,对于独立的一个生产者和三个消费者。一个比较常见的依赖结构是:...

2019-10-09 22:08:45 1218

原创 高性能的异步处理框架Disruptor(二)——Disruptor对RingBuffer的读写策略

前文了解了Disruptor与RingBuffer的基础知识后,接下来了解Disruptor对 ringbuffer的访问控制策略。Disruptor对RingBuffer的读取策略假设消费者(Consumer)是一个想从 Ring Buffer 里读取数据的线程,它可以访问 ConsumerBarrier对象——这个 对象由 RingBuffer 创建并且代表消费者与 RingBuffer ...

2019-10-09 11:01:35 809

原创 高性能的异步处理框架Disruptor(一)——认识RingBuffer与Disruptor

Disruptor是什么Disruptor 是一个高性能的异步处理框架。可以认为是最快的消息框架(轻量的 JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。它允许开发者使用多线程技术去创建基于任务的工作流。Disruptor 能用来并行创建任务,同时保证多个处理过程的有序性。Disruptor 的目标就是快,高效。ArrayBlockingQueue也是一个非常优秀的有界队...

2019-10-09 10:31:51 1174

Swagger编写API文档的YAML示例

通过Swagger Editor,使用yaml编写的API接口文档,导入到Swagger Editor即可看到效果.

2017-02-14

struts的执行的核心流程时序图

struts的执行的核心流程时序图

2016-04-10

Java游戏高级编程.pdf

Java游戏高级编程.pdf

2014-12-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除