自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (4)
  • 收藏
  • 关注

原创 学习ThreadLocal

ThreadLocal

2022-12-04 15:11:23 189 1

原创 kafka-存储原理-机制、结构及底层原理

我们知道Kafka中的消息是存储在磁盘上的,那么为什么要使用磁盘作为存储介质?具体消息的存储格式又是什么呢?怎么样能够快速检索到指定的消息?消息不可能无限制存储,那么清理规则又是什么呢?1.1 Kafka-存储机制、结构log.dirs=/usr/local/var/lib/kafka-logskafka 使用日志文件的方式来保存生产者和发送者的消息,每条消息都有一个 offset 值来表示它在分区中的偏移量。Kafka 中存储的一般都是海量的消息数据,为了避免日志文件过大,一个分片 并不是.

2021-02-26 16:01:01 2980

原创 Kafka基础架构分析、集群策略及zookeeper定位

这节课我主要对kafka的基础架构进行分析,详细讲解架构中涉及的概念与理论1.kafka基础架构分析Kafka起初是由LinkedIn公司采用Scala语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统.Producer:生产者,也就是发送消息的一方。生产者负责创建消息,然后将其投递到Kafka中Consumer:消费者,也就是接收消息的一方。消费者连接到Kafka上并接收消息,进而进行相应的业务逻辑处理Broker:大多数情况下也可以将Broker看作

2021-02-26 15:57:50 466

原创 ES试用到期x-pack过期导致elasticsearch-head-master连接失败

问题本地安装的elasticsearch的x-pack试用30天到期后后台报错[2020-11-11T17:06:31,338][WARN ][o.e.c.InternalClusterInfoService] [MacBook~Pro] Failed to execute IndicesStatsAction for ClusterInfoUpdateJoborg.elasticsearch.ElasticsearchSecurityException: current license is non

2020-11-11 17:28:02 900

原创 SDK设置超时-Future中断方式与Guava工具包方式

项目出现第三方SDK接口超时导致rabbitmq消息堆积.查看代码发现,我们并没有对SDK调用进行超时处理,为了系统稳定性,防止被第三方服务超时hang死,我们需要对接口调用设置超时,同样对于突发高并发下环境下,服务器压力很大的情况下,调用某些方法长时间不响应,应自动拒绝服务,而不是一直阻塞下去,直至服务器崩溃,算是一种变相的服务降级,如果在设置的超时时间内没有响应,则需要提早中断该请求并发出报警.对于一些成熟的开源框架一般都会带有超时响应这种功能,对于自己开发的方法或者没有超时相应的服务该怎么处理呢?

2020-09-02 14:26:18 635

原创 Redis中好玩的算法-高位进位法

Redis中好玩的算法-高位进位法Redis大家都比较熟悉,在项目中使用的比较多,应用场景也很广泛,包括缓存,分布式锁,队列等等.Redis不但本身提供了很强大的功能,其中涉及的算法也很巧妙,下面就介绍一种高位进位法.在平时线上 Redis 维护工作中,有时候需要从 Redis 实例成千上万的 key 中找出特定前缀的 key 列表来手动处理数据,可能是修改它的值,也可能是删除 key。那么就存在一个问题,我们怎么获取Redis中所有的key呢?Redis给我们提供了keys命令,但是这个命令有缺陷,我

2020-08-31 17:23:16 3242 1

原创 编译部署RocketMq时报错;Failed to execute goal org.apache.maven.plugins

记一次安装RocketMq时出现的问题,如果你也安装RocketMq,使用如下命令编译部署mvn -Prelease-all -DskipTests clean install -U可能会编译失败.[ERROR] Failed to execute goal org.apache.maven.plugins:maven-remote-resources-plugin:1.5:process (process-resource-bundles) on project rocketmq-all: Err

2020-07-22 21:09:30 1224

原创 RabbitMQ并发消费者关键参数prefetch,concurrency

线上项目发生一次消息堆积问题,项目中使用的是rabbitmq,所以对rabbitmq的消息堆积问题进行了深入的了解,学习.消息堆积的主要原因有以下几种:(1)消费者的速度大大慢于生产者的速度,速度不匹配引起的堆积(2)消费者实例IO严重阻塞或者消费者所在服务器宕机(3)消费者业务处理异常导致的消息堆积项目中大部分使用@RabbitmqListener注解的方式处理业务代码中MQ的消费,这个注解用于监听指定的队列,如果containerFactory未指定,默认使用SimpleRabbitListe

2020-06-22 11:46:38 18012 9

原创 Spring AOP拦截抽象类(父类)中方法失效问题

背景最近工作中需要对组内各个系统依赖的第三方接口进行监控报警,对于下游出现问题的接口能够及时感知.首先我们写了一个Spring AOP注解,用于收集调用第三方时返回的信息.而我们调用第三方的类抽象出一个父类.并在父类的方法中加入我们的自定义注解用于监控日志并打印日志.很多子类继承了这个父类并使用父类中的方法.如:当调用子类的doSomething方法时问题出现了,发现Spring AOP没有拦截doPost()方法.而将注解加在子类方法上时,Spring AOP可以拦截子类的方法,但这不是我们想要

2020-06-03 11:16:48 9450 1

原创 基于Redis的统计UV方法

基于Redis的统计UV方法项目中经常遇到需要统计系统每天使用情况的需求,基于此总结出的几种Redis统计UV的方式.如果统计 PV 那非常好办,给每个网页一个独立的 Redis 计数器就可以了,这样来一个请求,incrby 一次,最终就可以统计出所有的 PV 数据。但UV不同,UV统计的是用户的使用情况,同一天同一个用户多次访问网站或者接口只能计数一次.因此需要考虑去重.Set集合:说到...

2020-04-02 16:41:15 2965

原创 lombok使用过程中出现的问题

lombok使用过程中出现的问题1.lombok简介lombok相信大家都使用过,使得java代码简洁,提高开发人员的开发效率。使用方法不在赘述,网上资料很多,引入也很方便,下面进入正题!2.lombok注解@Data Equivalent to {@code @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHas...

2019-12-05 13:40:10 1821 1

历史上最美的10个实验(美)GeorgeJohnson

该书是讲述历史上10个最美的实验,好多是很著名的实验,逻辑性很强

2018-07-28

与孩子一起学变成_中文版_详细书签

很好的一本python入门书籍,适合入门python的小白,也适合刚入门编程的同学

2018-07-28

MySQL技术内幕InnoDB存储引擎第二版

很好的一本MySQL书

2017-07-22

空空如也

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

TA关注的人

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