一站式了解RocketMQ如何解决消息堆积问题 引言先前我们讲过了RocketMQ是如何解决顺序消息问题的,今天我们讲一下RocketMQ是如何解决消息堆积问题的。每种MQ解决消息堆积问题的策略可能都不一样,但发生消息堆积问题的原因大致一样,即生产者生产消息的速率与消费者消费消息的速率不匹配,导致消息大量堆积在队列中。 调整消费者线程池大小🤓通过增加消费者的并发度,可以加快消息的消费速度。这可以通过修改消费者配置中的线程池大小参数实现,通过增 2025-06-24 RocketMQ #后端 #RocketMQ
一站式了解RocketMQ如何实现顺序消息 引言每种MQ对顺序消息的实现都各有差异,我们今天主要来讲讲RocketMQ是如何实现顺序消息的。请注意,由于全局顺序消息不常用,我们这里提到的顺序消息都是指分区顺序消息。 顺序消息的定义😣RocketMQ中的顺序消息分为全局顺序消息和分区顺序消息。 全局顺序消息全局顺序消息是指某个Topic下的所有消息都能够按照发送的顺序被消费。这里稍微解释一下,为什么全局顺序消息不常用,因为全局顺序消息通常意 2025-06-23 RocketMQ #后端 #RocketMQ
一站式讲解本地缓存Caffeine 引言上次我们讲了本地缓存guava,那么有没有比它更加优秀的本地缓存呢?有的,兄弟,有的。这次我们来讲本地缓存Caffeine。 本地缓存的必要性🤤不是有了像redis这样的分布式缓存了吗,为什么还要本地缓存呢?因为本地缓存有这样的优势: 提升性能 减少延迟:通过在应用层引入本地缓存作为第一级缓存(L1),可以直接在进程内部快速响应查询请求,而不需要每次都访问更慢的外部存储(如远程缓存或数 2025-06-22 后台缓存 #后端 #后台缓存
面试官拷打我线程池,我这样回答.... 引言如果大家在简历中写熟悉Java并发编程或者项目有牵扯到线程池相关内容,那么被拷打线程池是大概率的事。下面的内容是有关今年五月份某大厂面试中有关线程池的拷打,我从中提取一些比较通用的内容进行解答,让我们一起看看吧! 线程池的好处😯经典起手,这就非常八股了,这里我想让大家都明白一个道理,生活和学习中,都要先明白做这件事的好处(坏处)是什么,再想如何做可能灵感就会多得多,好的下面让我们回归正题❤️ 2025-06-22 Java并发编程 #后端 #Java并发编程
想为Seata社区进行贡献?这几点你需要了解 引言很多新人朋友都想在Github上为开源社区进行贡献(包括我),而其中seata社区是活跃度相对较高的社区之一,但是一头扎进去容易一脸懵,如果你也想为seata贡献你的代码,你可以看看我以下提到的几点,兴许你会用到🤓 第一步你先需要将seata库fork下来,然后你才可以提交代码到自己的fork库,然后进行clone,将最新代码拉取到自己的idea。 然后需要设置远程,方便更新代码工作区, 设 2025-06-22 Seata #后端 #Seata
面试回答喜欢用构造器注入,面试官很满意... 引言大家在SpringBoot项目开发中进行依赖注入时,是不是都喜欢用字段注入呢?即使用@Autowired,@Resource。没错,这种方式最简单与简洁,但是为什么在面试中,面试官问起你有关依赖注入的问题时,最好不要回答用字段注入呢?而是回答用构造器注入,接下来让我们一起来探讨一下常见的三种依赖注入方式。 字段注入(Field Injection)😵字段注入(Field Injection) 2025-06-22 Spring #后端 #Spring
面试官问我:库存预扣减之后,用户订单超时之后怎么补偿库存?我的方案让他满意... 引言在后端开发和面试中,如果是做类似秒杀和商城等业务时,我们难免会遇到关于订单超时了,但是Redis里面的库存已经预扣减了,那么如何把预扣减的库存进行补偿呢?下面和大家讨论几种比较常见常用的方案。 为什么要补偿预扣减的库存?😵古人常说,要做一件事之前,先要清楚为什么要做这件事,再去想解决这件事的方案。我认为这种说法也是对的,只有先清楚为什么要补偿预扣减的库存,才能获得解决方案的灵感。 在一个秒杀 2025-06-22 后端开发问题 #后端 #后端开发问题
一站式了解本地缓存Guava 引言在后端开发中或者面试中,我们经常会谈到多级缓存这个概念,那么这里就要来说一说缓存的分类了。缓存分为本地缓存和分布式缓存(数据库缓存已经被废弃了),本地缓存常见的有Guava,Ehcache,Caffeine,分布式缓存常见的有Redis,Memcached。那么我们今天主要来聊聊本地缓存Guava。 本地缓存的必要性🤤不是有了像redis这样的分布式缓存了吗,为什么还要本地缓存呢?因为本地缓 2025-06-22 后台缓存 #后端 #后台缓存
一站式了解Completable的用法基础(保姆版) 引言在后端开发中,我们经常会使用线程池来异步执行任务,但是如果要进行异步编排任务可犯了难。线程池可不能按照一定顺序来执行相应任务,所以今天我们来讲讲Java8引入的,位于java.util.concurrent包下的CompletableFuture。 如图是依靠CompletableFuture来实现的异步并行任务,聚合结果的示意图: Future😯要想了解CompletableFuture 2025-06-22 Java并发编程 #后端 #Java并发编程
一站式了解CAP理论 引言现代网站搭建的一般都是分布式系统,而聊到分布式系统的设计与构建,那就无法避开CAP理论,今天来聊一下CAP理论 CAP定义😪cap理论是指设计分布式系统时,一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)这三个属性最多只能同时满足两个。 一致性(Consistency) :每个读操作都能看到最近一次写操作的结果。在这 2025-06-22 架构 #后端 #架构