RocketMQ 不停机,扩容,迁移,平滑升级,实战
一、背景 1、各业务系统持续迭代过程中,JDK、SpringBoot、RocketMQ Client 等框架也进行了升级,高版本的 RocketMQ Client 发送的消息到低版本中,在控制台中午无法查看消息明细,致使业务日常排查问题等相...
一、背景 1、各业务系统持续迭代过程中,JDK、SpringBoot、RocketMQ Client 等框架也进行了升级,高版本的 RocketMQ Client 发送的消息到低版本中,在控制台中午无法查看消息明细,致使业务日常排查问题等相...
阿里云|Teambition 网盘内测申请表,内测资格,申请,请看文末 阿里云网盘内测开启 填写申请表获取邀请码 如果你是网盘的重度用户,欢迎加入到网盘内测组,我们需要像你一样可爱的小伙伴深度使用产品,并提出建议。 如果你有时间并且感兴趣,...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
名称解释 这里的多账户区别于系统级别的,我们讲的多账户系统是指,在我们互联网应用当中,我们的应用会使用多个第三方账号进行登录,必须现在常用的APP(网易云音乐)登录方式包含:网易、微信、QQ 内容 通过这一篇文章, 可以学到:多用户下面的技...
线程池配置模板 目录 线程池配置模板 基础的注解解释 常用配置参数 配置类设计 线程池使用 ThreadPoolTaskExecutor源码 springboot给我们提供了一个线程池的实现,它的底层是由线程池ThreadPoolTaskE...
用两个线程将两个数组轮流输出(数组可能不等长)。输入a1[1,2,3,4],a2[5,6,7,8,9] 输出1,5,2,6,3,7,4,8 轮流输出两个数的实现方法有多种,最简单的可以采用Synchroniz...
自己实现阻塞队列的话可以采用Object下的wait和notify方法,也可以使用Lock锁提供的Condition来实现,本文就是自己手撸的一个简单的阻塞队列,部分借鉴了JDK的源码。Ps:最近看面经的时候发现字节跳动的面试官特别喜欢让面...
为什么ConcurrentHashMap的读操作不需要加锁? 我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——...
线程池源码解析 线程池的概念 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互。使用线程池可以很好的提高性能,尤其是程序中需要创建大量生存期很短暂的线程。 使用线程池的优势 降低资源消耗。通过重复利用已创建的线程降低线程创建和...
分布式全局ID生成器设计 项目是分布式的架构,需要设计一款分布式全局ID,参照了多种方案,最后基于snowflake的算法设计了一款自用ID生成器。具有以下优势: 1、 保证分布式场景下生成的ID是全局唯一的 2、 生成的全局ID整体上是呈...
CountDownLatch允许一个或多个线程等待其他线程完成操作。 假如有这样一个需求:我们需要解析一个Excel里多个sheet的数据,此时可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需...