随笔分类 - Java
摘要:什么是拦截器? 拦截器是一种横切维度的功能延展。 具象说明一下,高速收费站就是一种拦截器。它可以做什么?收费,查证,交通控制等等,面向所有穿行过往的车辆。 gRPC 拦截器主要分为两种:客户端拦截器(ClientInterceptor),服务端拦截器(ServerInterceptor),顾名思义,
阅读全文
摘要:其实在之前的文章【缓存,确实很香,却也很受伤!】中,对缓存穿透的引发缘由及应对策略做过简要的描述。这篇文章将对这个问题再做下额外的扩展。 一、关于布隆过滤器 布隆过滤器支持两种操作:1、添加元素;2、判断元素是否存在。 布隆过滤器的特性:占用少量内存过滤海量数据 判断元素存在会返回两种结果: 1、不
阅读全文
摘要:顺序就像就是 12345,任何 12354、12543、51234等都不行。 因为是 mq,所以必然涉及三个主体:发送方、消息服务器、消费方。 一、kafka 消息服务器 kafka brokers 顺序接收客户端请求,将消息顺序追加到 partition 尾部,kafka 能保证单个分区里消息的顺
阅读全文
摘要:一、JVM 架构基础 JVM 进程启动时,ClassLoader 会将需要的所有类加载到内存,主要分为以下三步: Bootstrap Class: 核心类库,由 “Bootstrap Class Loader”负责加载, 例如基础的运行时类库 JRE\lib\rt.jar。 Extension Cl
阅读全文
摘要:一、protocal buffer 是什么? 一种序列化机制。 什么是序列化? 一种转化为可存储和传输对象的过程。 序列化的方式有很多,那么proto有什么特殊的呢? 它的英文介绍里提到了neutral这个词,中立,无关的。 language-neutral 跨语言:它可以应用于多种开发语言之间数据
阅读全文
摘要:Redis Hashes 是我们日常使用中比较高频的 Redis 数据类型,内部使用 Redis 字典结构存储,底层实现之一为哈希表结构。 下面从哈希表节点,哈下表结构,Redis 字典,Redis 字典元素操作,Redis rehash 几点来简要概述。 一、Redis 哈希表节点 Redis 内
阅读全文
摘要:数据出问题了! 一次偶发的端上问题。 排查日志、监控、数据、代码逻辑。 服务没有添加事务性保障,不可避免的数据不一致:缓存有数据,数据库没数据或者相反;有A阶段数据,没有B阶段数据;该有的数据没有,不该有的数据却存在。 主从机制遇到了强一致性需求,偶发的缓存不一致。 服务被埋下了错误的逻辑,日积月累
阅读全文
摘要:一、背景 什么是重试? 一种保障机制,why not try again! 无论是单体服务模块化的调用,或是微服务当道的今天服务间的相互调用。一次业务请求包含了太多的链条环扣,每一扣的失败都会导致整个请求的失败。因此需要保障每个环节的可用性。 二、动态策略配置 1、基本配置项 涉及重试,我们所需要关
阅读全文
摘要:一、引子 这要从线上的一个接口偶发异常耗时说起,事情往往不是你想象的样子,尤其是在排查问题的时候,切忌有先入为主的的某些判断。 二、问题: 接口监控图:显示每天总会有那么几次耗时特别长的请求。 三、排查: 1、直观的认识是“偶发”,每天零星的几个,不规律。 对于这种情况,第一感觉是因为服务的波动影响
阅读全文
摘要:枚举和常量是定义配置性信息的两种方式...
阅读全文
摘要:G1 垃圾回收器简单调优,yong GC日志解析,GC日志分析工具
阅读全文
摘要:并发框架 LMAX Disruptor
阅读全文
摘要:一、完成一个任务需要什么? 时间 + 资源 + 处理能力 时间就是时间。 资源就是资源。 处理能力就是能够利用时间和资源完成任务的主体。 二、关于操作系统 处理能力就是cpu。 资源就是存储。 时间就是cpu的时间。 cpu的处理能力:很快很快。 cpu需要获取存储资源:这个过程我们称之为IO,IO
阅读全文
摘要:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED...
阅读全文

浙公网安备 33010602011771号