后端

自定义Lombok注解

Java 是一门"繁琐"的语言,使用 Lombok 可以显著地减少样板代码。比如使用 @Getter注解可以为你的私有属性创建 get 方法。源代码 @Getter private int age = 10; 生成后代码 private int age = 10; public

后端
tunan

Netty+HTTP/2:一个诡异的超时问题

背景在描述遇到的这个问题之前,需要先介绍一下背景,是在怎样一个环境下遇到的。服务端是基于netty实现的http server,我选择直接使用了RxNetty的http server封装。这个server的本质是一个代理服务器,在这里先称之为proxyserver,它将客户端发送

后端
团子

调用链跨线程传递ThreadLocal对象

背景描述在全链路跟踪框架中,Trace信息的传递功能是基于ThreadLocal的。但实际业务中可能会使用异步调用,这样就会丢失Trace信息,破坏了链路的完整性。在同一线程中trace信息的传递流程使用代码模拟如下:ThreadLocal<String> trace

后端
云天

Java日志隔离功能实现

背景 我们都知道日志至于任何系统、软件都是十分重要的组成部分,通过日志我们可以方便地了解到现在系统运行是否正常、是否有异常情况。 但有时候日志太多了也会有幸福地烦恼,发生异常想通过日志进行排查,可是满屏地日志都是不那么重要地内容,像心跳日志、debug日志等等。 这在java应用

后端
沈浪

实时数据管道 Vimur 探索之路

导语在业务数据爆发性增长与开发团队急剧扩张的双重挑战下,我们开始从单体应用转向面向服务架构(SOA)并进行数据库分库分表。转型过程中,我们又遇到了数据迁移、数据同步等新的挑战——Vimur 在此时应运而生。Vimur 是建立在 Apache Kafka 之上的一套实时数据管道,它

后端
阿磊

服务网关API路由导致的性能问题分析

背景酷家乐是从 16 年初开始进行服务化改造的,因为一些特殊原因,无法直接使用主流的dubbo 或 spring cloud,因此酷家乐研发团队在开源的基础上做了二次开发,迅速上线了一套定制型的微服务框架。和其他微服务框架类似,酷家乐自己定制的微服务框架也有专门的服务网关,今天要

后端
团子

RateLimiter解析(一) ——设计哲学与快速使用

Outline0. 背景1. 常用限流方案2. 令牌桶算法3. 写在最前的例子4. RateLimiter 的设计哲学5. 快速使用0. 背景一个业务需求对 QPS 有限制,因此,调研了相关限流方案,并对 Guava 的 RateLimiter 进行了深入的学习。本文着重介绍 R

后端
鱼丸