<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u014439693的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u014439693</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014439693]]></copyright><item><title><![CDATA[学习ThreadLocal]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/128172471</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/128172471</guid><author>u014439693</author><pubDate>Sun, 04 Dec 2022 15:11:23 +0800</pubDate><description><![CDATA[ThreadLocal]]></description><category></category></item><item><title><![CDATA[kafka-存储原理-机制、结构及底层原理]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/114137086</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/114137086</guid><author>u014439693</author><pubDate>Fri, 26 Feb 2021 16:01:01 +0800</pubDate><description><![CDATA[我们知道Kafka中的消息是存储在磁盘上的，那么为什么要使用磁盘作为存储介质？具体消息的存储格式又是什么呢？怎么样能够快速检索到指定的消息？消息不可能无限制存储，那么清理规则又是什么呢？


1.1 Kafka-存储机制、结构

log.dirs=/usr/local/var/lib/kafka-logs

kafka 使用日志文件的方式来保存生产者和发送者的消息，每条消息都有一个 offset 值来表示它在分区中的偏移量。Kafka 中存储的一般都是海量的消息数据，为了避免日志文件过大，一个分片 并不是.]]></description><category></category></item><item><title><![CDATA[Kafka基础架构分析、集群策略及zookeeper定位]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/114136618</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/114136618</guid><author>u014439693</author><pubDate>Fri, 26 Feb 2021 15:57:50 +0800</pubDate><description><![CDATA[这节课我主要对kafka的基础架构进行分析,详细讲解架构中涉及的概念与理论



1.kafka基础架构分析

Kafka起初是由LinkedIn公司采用Scala语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统.





Producer:生产者，也就是发送消息的一方。生产者负责创建消息，然后将其投递到Kafka中

Consumer:消费者，也就是接收消息的一方。消费者连接到Kafka上并接收消息，进而进行相应的业务逻辑处理

Broker:大多数情况下也可以将Broker看作]]></description><category></category></item><item><title><![CDATA[ES试用到期x-pack过期导致elasticsearch-head-master连接失败]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/109626999</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/109626999</guid><author>u014439693</author><pubDate>Wed, 11 Nov 2020 17:28:02 +0800</pubDate><description><![CDATA[问题
本地安装的elasticsearch的x-pack试用30天到期后后台报错
[2020-11-11T17:06:31,338][WARN ][o.e.c.InternalClusterInfoService] [MacBook~Pro] Failed to execute IndicesStatsAction for ClusterInfoUpdateJob
org.elasticsearch.ElasticsearchSecurityException: current license is non]]></description><category></category></item><item><title><![CDATA[SDK设置超时-Future中断方式与Guava工具包方式]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/108361417</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/108361417</guid><author>u014439693</author><pubDate>Wed, 02 Sep 2020 14:26:18 +0800</pubDate><description><![CDATA[项目出现第三方SDK接口超时导致rabbitmq消息堆积.查看代码发现,我们并没有对SDK调用进行超时处理,为了系统稳定性，防止被第三方服务超时hang死，我们需要对接口调用设置超时，同样对于突发高并发下环境下，服务器压力很大的情况下，调用某些方法长时间不响应，应自动拒绝服务，而不是一直阻塞下去，直至服务器崩溃，算是一种变相的服务降级,如果在设置的超时时间内没有响应，则需要提早中断该请求并发出报警.对于一些成熟的开源框架一般都会带有超时响应这种功能,对于自己开发的方法或者没有超时相应的服务该怎么处理呢?

]]></description><category></category></item><item><title><![CDATA[Redis中好玩的算法-高位进位法]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/108325632</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/108325632</guid><author>u014439693</author><pubDate>Mon, 31 Aug 2020 17:23:16 +0800</pubDate><description><![CDATA[Redis中好玩的算法-高位进位法
Redis大家都比较熟悉,在项目中使用的比较多,应用场景也很广泛,包括缓存,分布式锁,队列等等.Redis不但本身提供了很强大的功能,其中涉及的算法也很巧妙,下面就介绍一种高位进位法.
在平时线上 Redis 维护工作中，有时候需要从 Redis 实例成千上万的 key 中找出特定前缀的 key 列表来手动处理数据，可能是修改它的值，也可能是删除 key。那么就存在一个问题,我们怎么获取Redis中所有的key呢?Redis给我们提供了keys命令,但是这个命令有缺陷,我]]></description><category></category></item><item><title><![CDATA[编译部署RocketMq时报错；Failed to execute goal org.apache.maven.plugins]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/107522759</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/107522759</guid><author>u014439693</author><pubDate>Wed, 22 Jul 2020 21:09:30 +0800</pubDate><description><![CDATA[记一次安装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]]></description><category></category></item><item><title><![CDATA[RabbitMQ并发消费者关键参数prefetch,concurrency]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/106898188</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/106898188</guid><author>u014439693</author><pubDate>Mon, 22 Jun 2020 11:46:38 +0800</pubDate><description><![CDATA[线上项目发生一次消息堆积问题,项目中使用的是rabbitmq,所以对rabbitmq的消息堆积问题进行了深入的了解,学习.
消息堆积的主要原因有以下几种:
(1)消费者的速度大大慢于生产者的速度,速度不匹配引起的堆积
(2)消费者实例IO严重阻塞或者消费者所在服务器宕机
(3)消费者业务处理异常导致的消息堆积
项目中大部分使用@RabbitmqListener注解的方式处理业务代码中MQ的消费,这个注解用于监听指定的队列,如果containerFactory未指定,默认使用SimpleRabbitListe]]></description><category></category></item><item><title><![CDATA[Spring AOP拦截抽象类(父类)中方法失效问题]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/106506177</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/106506177</guid><author>u014439693</author><pubDate>Wed, 03 Jun 2020 11:16:48 +0800</pubDate><description><![CDATA[背景
最近工作中需要对组内各个系统依赖的第三方接口进行监控报警,对于下游出现问题的接口能够及时感知.首先我们写了一个Spring AOP注解,用于收集调用第三方时返回的信息.而我们调用第三方的类抽象出一个父类.并在父类的方法中加入我们的自定义注解用于监控日志并打印日志.

很多子类继承了这个父类并使用父类中的方法.如:

当调用子类的doSomething方法时问题出现了,发现Spring AOP没有拦截doPost()方法.而将注解加在子类方法上时,Spring AOP可以拦截子类的方法,但这不是我们想要]]></description><category></category></item><item><title><![CDATA[基于Redis的统计UV方法]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/105272979</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/105272979</guid><author>u014439693</author><pubDate>Thu, 02 Apr 2020 16:41:15 +0800</pubDate><description><![CDATA[基于Redis的统计UV方法
项目中经常遇到需要统计系统每天使用情况的需求,基于此总结出的几种Redis统计UV的方式.
如果统计 PV 那非常好办，给每个网页一个独立的 Redis 计数器就可以了，这样来一个请求，incrby 一次，最终就可以统计出所有的 PV 数据。但UV不同,UV统计的是用户的使用情况,同一天同一个用户多次访问网站或者接口只能计数一次.因此需要考虑去重.

Set集合:说到...]]></description><category></category></item><item><title><![CDATA[lombok使用过程中出现的问题]]></title><link>https://blog.youkuaiyun.com/u014439693/article/details/103403076</link><guid>https://blog.youkuaiyun.com/u014439693/article/details/103403076</guid><author>u014439693</author><pubDate>Thu, 05 Dec 2019 13:40:10 +0800</pubDate><description><![CDATA[lombok使用过程中出现的问题
1.lombok简介
lombok相信大家都使用过，使得java代码简洁，提高开发人员的开发效率。使用方法不在赘述，网上资料很多，引入也很方便，下面进入正题！

2.lombok注解
@Data Equivalent to {@code @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHas...]]></description><category></category></item></channel></rss>