标签:Disruptor

Java

深入浅出Disruptor

11

yeseng 发布于 2020-04-02

作者 | 高建 面向 CTRL C + V 的编码工具人。 说到队列,大家都很熟悉,像生活中不管是吃饭还是买东西基本上都会遇到排队,先排队的人先付款,不允许插队!先进先出,这就是典型的“队列”。 简单回顾 jdk 里的队列 1. 阻塞队列: ArrayBlockingQueue:...

阅读(15)评论(0)赞 (0)

编程技术

技术人成长,应该专注于哪些底层知识?

3

dulong 发布于 2020-04-02

每年金三银四都是招聘季,今年虽然有疫情影响,但相信也还是有不少人出来面试。我发现很多候选人,聊起架构、框架侃侃而谈,但一写代码,就暴露真实水平。说白了,还是基本功不够扎实。 在我看来,不管你是什么语言,基本功一定要扎实, 最核心的一定是数据结构与算法 。也因此,所有大厂面试,都必...

阅读(23)评论(0)赞 (0)

编程技术

谈一谈如何成为一名合格的架构师

8

Harries 发布于 2020-03-26

俗话说:“不想成为架构师的程序员,只配叫码农。” 架构师不止是一个技术岗位,也是程序员职业修炼路程中需要达到一种“武功境界”。 为什么说研发团队中的每个人都应该了解一些架构知识,甚至亲自参与架构的相关工作? 首先,我们先从宏观上说一说架构师的职责: 1. 需求分析,规划全局。 作...

阅读(25)评论(0)赞 (0)

Java

蚂蚁金服分布式链路跟踪组件 SOFATracer 中 Disruptor 实践(含源码)

37

songhua.gao 发布于 2020-03-24

1 Disruptor 简介 Disruptor 旨在在异步事件处理体系结构中提供低延迟,高吞吐量的工作队列。它确保任何数据仅由一个线程拥有以进行写访问,因此与其他结构相比,减少了写争用。目前,包括 Apache Storm、Camel、Log4j2 在内的很多知名项目都应用了 ...

阅读(33)评论(0)赞 (0)

Java

蚂蚁金服分布式链路跟踪组件 SOFATracer 中 Disruptor 实践(含源码)

7

xiaoli.he 发布于 2020-03-17

SOFAStack( S calable O pen F inancial A rchitecture Stack)是蚂蚁金服自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 SOFATracer 是一个用于分布式系统调用跟...

阅读(39)评论(0)赞 (0)

Java

高性能 Disruptor——消除伪共享

5

邓龙华 发布于 2020-03-15

一、CPU Cache 存储设备往往是速度越快价格越昂贵,速度越快价格越低廉。在计算机中,CPU 的速度远高于主存的速度,而主存的速度又远高于磁盘的速度。为了解决不同存储部件的速度不对等问题,让高速设备充分发挥性能,引入了多级缓存机制。 为了解决内存和 CPU 的速度不匹配问题,...

阅读(27)评论(0)赞 (0)

Java

陆金所 CAT 优化实践

19

hanze 发布于 2020-03-15

作者 | 蔡健 方超 编辑 | 小智 1 背景 CAT 介绍 CAT (Central Application Tracking)是一个实时监控系统,由美团点评开发并开源,定位于后端应用监控。应用集成客户端的方式上报中间件和业务数据,支持 Transaction、Event 和 ...

阅读(29)评论(0)赞 (0)

Java

陆金所 CAT 优化实践

14

xirruiqiang 发布于 2020-03-11

背景 CAT 介绍 CAT (Central Application Tracking)是一个实时监控系统,由美团点评开发并开源,定位于后端应用监控。应用集成客户端的方式上报中间件和业务数据,支持 Transaction、Event 和 Heartbeat 等数据类型 Metri...

阅读(21)评论(0)赞 (0)

Java

Parallel Stream 的错误实践

1

尖兵 发布于 2020-01-19

一、前言 Java8 Stream 流的出现,极大的简化了业务需求中对集合数据的加工处理操作。虽然好用,但是一旦使用不当,也会带来意想不到的结果,本文记录使用 Parallel Stream 的错误实践。 List<Object> sourceList = ...; ...

阅读(127)评论(0)赞 (0)

Java

最强最全常用开发库 – 日志类库详解

6

xubiao.zhuang 发布于 2020-01-14

Java日志库是最能体现Java库在进化中的渊源关系的,在理解时重点理解日志框架本身和日志门面,以及比较好的实践等。要关注其历史渊源和设计(比如桥接),而具体在使用时查询接口即可, 否则会陷入JUL(Java Util Log), JCL(Commons Logging), Lo...

阅读(60)评论(0)赞 (0)

Java

SpringBoot+Redis布隆过滤器防恶意流量击穿缓存的正确姿势

20

hellas 发布于 2020-01-13

什么是恶意流量穿透 假设我们的Redis里存有一组用户的注册email,以email作为Key存在,同时它对应着DB里的User表的部分字段。 一般来说,一个合理的请求过来我们会先在Redis里判断这个用户是否是会员,因为从缓存里读数据返回快。如果这个会员在缓存中不存在那么我们会...

阅读(95)评论(0)赞 (0)

Java

通天塔性能优化实践

12

尖兵 发布于 2020-01-12

近年来通天塔的业务数据量和用户流量都呈现出了非常迅猛的增长趋势,为了解决历史架构设计中的不足,应对诸多因素引发的风险并保证通天塔平台的稳定运行,通天塔后端组专项成立了一个“通天塔后端技术优化组”,号召并鼓励团队每个人积极参与进来,全盘分析和梳理、技术设计和技术Review、形成技...

阅读(91)评论(0)赞 (0)

Java

SocketIO高性能事件驱动设计探索

11

puefu.he 发布于 2020-01-11

SocketIO高性能事件驱动设计探索 全文约7000字,预计阅读时间30分钟。 背景 SocketIO原生基于NodeJS实现的Web长连接技术方案,H5原生场景下通常使用websocket作为基础协议进行网络通信(客户端支持多语言),SocketIO对于长连接场景下的业务形态...

阅读(107)评论(0)赞 (0)

Spring

阿里的nacos+springboot+dubbo2.7.3集成以及统一处理异常的两种方式

34

小丁 发布于 2020-01-10

在网上很多关于dubbo异常统一处理的博文,90%都是抄来抄去。大多都是先上一段dubbo中对于异常的统一处理的原码,然后说一堆的(甚至有12345,五种)不靠谱方案,最后再说“本篇使用的是方案4”,然后再对所谓的方案4写了一段文字,最后还说不清!!! 本篇解决方案不会那么罗里吧...

阅读(82)评论(0)赞 (0)

Java

Disruptor的简单介绍与应用

3

hellas 发布于 2020-01-07

前言 最近工作比较忙,在工作项目中,看了很多人都自己实现了一套数据任务处理机制,个人感觉有点乱,且也方便他人的后续维护,所以想到了一种数据处理模式,即生产者、缓冲队列、消费者的模式来统一大家的实现逻辑。 下面时是对Disruptor基本使用的演示。使用中需要引入依赖 <de...

阅读(52)评论(0)赞 (0)

Java

Log4j2异步日志之异步格式化

xirruiqiang 发布于 2020-01-07

在优化系统响应时间的时候,除了优化业务逻辑/代码逻辑之外,把日志改成异步也是一种不错的方案 Log4j2在异步日志的性能上已经无人能挡了,其异步效率高的主要原因是使用 disruptor 来做异步队列 但是很多业务系统,尤其是核心业务系统,需要打印详细的报文和处理参数来追踪问题;...

阅读(47)评论(0)赞 (0)

Java

Disruptor-高性能线程消息传递框架

9

尖兵 发布于 2019-12-31

一、前言 听到队列相信大家对其并不陌生,在我们现实生活中队列随处可见,去超市结账,你会看见大家都会一排排的站得好好的,等待结账,为什么要站得一排排的,你想象一下大家都没有素质,一窝蜂的上去结账,不仅让这个超市崩溃,还会容易造成各种踩踏事件,当然这些事其实在我们现实中也是会经常发生...

阅读(56)评论(0)赞 (0)

Java

《Java异步编程实战》隆重上市!!!

1

尖兵 发布于 2019-12-22

0.1为何写作本书 异步编程是可以让程序并行运行的一种手段,其可以让程序中的一个工作单元与主应用程序线程分开独立运行,使用它有许多好处,例如可以提高应用程序的性能和响应能力。 虽然Java中不同技术域提供了相应的异步编程技术,但是对异步编程技术的描述散落到了不同技术域的技术文档中...

阅读(127)评论(0)赞 (0)