自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(596)
  • 收藏
  • 关注

原创 聊聊 Kafka:如何避免消费组的 Rebalance

一、前言我们上一篇聊了 Rebalance 机制,相信你对消费组的重平衡有个整体的认识。这里再简单回顾一下,Rebalance 就是让一个 Consumer Group 下所有的 Consumer 实例就如何消费订阅主题的所有分区达成共识的过程。在 Rebalance 过程中,Consumer Group 下所有的 Consumer 实例共同参与,在 Coordinator 协调者组件的帮助下,完成订阅主题分区的分配。但是,在整个过程中,所有实例都不能消费任何消息,因此它对 Consumer 的 TPS

2022-01-16 22:43:33 6680 1

原创 聊聊 Kafka:编译 Kafka 源码并搭建源码环境

一、前言老周这里编译 Kafka 的版本是 2.7,为啥采用这个版本来搭建源码的阅读环境呢?因为该版本相对来说比较新。而我为啥不用 2.7 后的版本呢?比如 2.8,这是因为去掉了 ZooKeeper,还不太稳定,生产环境也不太建议使用,所以以 2.7 版本进行源码搭建并研究。二、环境准备JDK:1.8.0_241Scala:2.13.6Gradle:5.6.3三、环境搭建3.1 JDK 环境搭建这个就不用我说了吧,搞 Java 的本机都有 JDK 环境。3.2 Scala 环境搭建

2021-10-10 23:08:59 2280 2

原创 聊聊 Kafka: 在 Linux 环境上搭建 Kafka

一、环境准备jdk下载地址链接:jdk 1.8,提取码: dv5hzookeeper下载地址链接:zookeeper3.4.14 ,提取码: 3dchkafka下载地址链接:kafka2.12,提取码: 61bc1.1 Java环境为前提1.1.1 上传jdk-8u261-linux-x64.rpm到服务器并安装# 安装命令rpm -ivh jdk-8u261-linux-x64.rpm 1.1.2 配置环境变量# 编辑配置文件,jdk的bin目录到/etc/profile文件,对所有

2021-08-18 00:31:31 4075 13

原创 聊聊 Kafka: Kafka 的基础架构

一、我与快递小哥的故事一个很正常的一个工作日,老周正在忙着啪啪啪的敲代码,办公司好像安静的只剩敲代码的声音。突然,我的电话铃声响起了,顿时打破了这种安静。我:喂,哪位?快递小哥:我是顺丰快递的,你有个包裹,请问你现在在家吗?我:哦,我现在不在家,晚上你再帮我送过来吧。快递小哥:要不我帮你放在菜鸟驿站吧?我:可以可以,谢谢了。还好有菜鸟驿站,不然工作日加班到很晚才回家,晚上快递小哥又下班了,得等到周末我在家快递小哥才能帮我送了。如果没有菜鸟驿站的话,我们来看下快递小哥与我的交互图:要是有

2021-08-09 00:29:33 4692 25

原创 一文读懂物联网 MQTT 协议之实战篇

欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、前言上一篇我们介绍了 MQTT 协议格式以及相关的特性:一文读懂物联网 MQTT 协议之基础特性篇,这一篇我们就来实战一番,理论得与实践结合,方能吃透 MQTT。我的那个读者还提到了讲一下 Mosquitto,这是一款开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌.

2021-08-02 00:41:43 8096 23

原创 一文读懂 Spring Bean 的生命周期

欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、前言今天我们来说一说 Spring Bean 的生命周期,小伙伴们应该在面试中经常遇到,这是正常现象。因为 Spring Bean 的生命周期是除了 IoC、AOP 几个核心概念之外最重要概念,大家务必拿下。可 Spring 源代码又比较复杂,跟着跟着就不知道跟到哪里去了,不太好拿下呀。这倒是真的,而且网上一上来就各种贴流程源码,对初学者来说是真的一脸懵逼,就像字.

2021-07-18 23:52:34 122486 111

原创 深入浅出 MyBatis 的一级、二级缓存机制

一、MyBatis 缓存缓存就是内存中的数据,常常来自对数据库查询结果的保存。使用缓存,我们可以避免频繁与数据库进行交互,从而提高响应速度。MyBatis 也提供了对缓存的支持,分为一级缓存和二级缓存,来看下下面这张图:一级缓存是 SqlSession 级别的缓存。在操作数据库时需要构造 SqlSession 对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的是 SqlSession 之间的缓存数据区(HashMap)是互相不影响。二级缓存是 Mapper 级别的缓存,多个 S

2021-07-12 21:14:25 1308 8

原创 阿里二面:JVM 的三色标记算法你了解吗?

欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、前言不得不说阿里的面试还是挺有质量的,这个问题直接问到了 JVM 的底层算法实现。在说 JVM 的三色标记算法之前,我们先来说下 JVM 对于常见对象存活判定算法与垃圾收集算法。常见对象存活判定算法有引用计数算法和可达性分析算法。 引用计数法会产生循环引用问题,JVM 默认是通过可达性分析算法来判断对象是否存活的。而那些垃圾收集算法:标记-清除、标记-复制、标记-.

2021-06-30 00:03:59 1646 18

原创 阿里二面:Redis 中的 AOF 文件太大了怎么办?

欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、前言写这篇文章的目的是来自我的一位粉丝的投稿,说面试阿里被问到了这个问题。不得不说阿里的面试问的都挺有质量,一般的我们只会关注 Redis 的两种持久化方式 RDB 和 AOF。但老周这里盲猜面试的过程肯定也是先从持久化方式问起,然后循循渐进的问到 AOF 文件太大了怎么办?本着知其然知其所以然的态度,老周这里会带你从 RDB 和 AOF 的实现原理、各自的触发方.

2021-06-03 00:07:51 8691 17

原创 我惊了!!!ThreadLocal 源码存在内存泄露的 Bug!!!

欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、前言写这篇文章的目的是因为现在网上很多关于 ThreadLocal 的文章,很大一部分都不太准确。比如说:ThreadLocal 内部有个 map,键为线程对象;ThreadLocal 的数据结构是个数组;还有说 ThreadLocal 存在内存泄露,但里面的 get、set 以及 remove 方法能防止 ThreadLocal 内存泄露问题。都是.

2021-05-27 01:17:27 2444 41

原创 Redis中ZSet的底层数据结构跳跃表skiplist,你真的了解吗?

欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、前言老周写这篇文章的初衷是这样的,之前项目中有大量使用 Redis 的 ZSet 数据结构来实现各种排行榜的功能。老周以前也写过关于跳表的数据结构,但那是纯数据结构方面来分析的,今天我们就来从跳跃表在 Redis 中的底层实现方向来分析。我们都知道 Redis 有五种常用的数据结构:String、Hash、List、Set 以及 ZSet,其中 ZSet 是 Re.

2021-05-17 01:56:51 4805 42

原创 一文读懂线程池的实现原理

欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、前言上个月底群里的一个好朋友向老周提出啥时候分享 ThreadPoolExecutor 解析大全,我说后面会提上日程;然后前些天有读者也反馈说在面试中有被问到线程池,问我啥时候出一篇线程池相关的文章。今天老周就来安排一波线程池,现在很多公司都喜欢问线程池相关的面试题,为什么面试官这么热衷于问线程池相关的面试题呢?因为这是多线程的基础,ThreadPoolExecu.

2021-04-20 01:27:47 11714 34

原创 2w 字长文爆肝 JVM 经典面试题!太顶了!

如果你是中高级程序员,那我相信你一定被面试官问过JVM。下次再被问到JVM,你直接把老周的这篇文章丢给他吧!话不多说,让我们直接进入主题吧。JVM内存结构,常见异常,调优参数,调优工具和命令JVM的理解JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor。Minor GC ,Full GC 触发条件如何确定某个对象是“垃圾”?典型的垃圾收集算法常用的垃圾回收器有哪些, 特点是什么当出现了内存溢出,你怎么排错你们线上应用的JVM参数有哪些什么是内存泄

2021-04-12 22:06:32 3529 42

原创 远程调用 Dubbo 与 Feign 的区别

一、相同点Dubbo 与 Feign 都依赖注册中心、负载均衡。二、区别1、协议Dubbo:支持多传输协议(Dubbo、Rmi、http、redis等等),可以根据业务场景选择最佳的方式。非常灵活。默认的Dubbo协议:利用Netty,TCP传输,单一、异步、长连接,适合数据量小、高并发和服务提供者远远少于消费者的场景。Feign:基于Http传输协议,短连接,不适合高并发的访问。2、负载均衡Dubbo:支持4种算法(随机、轮询、活跃度、Hash一致性),而且算法里面引入权重的概

2020-09-23 22:02:21 35229 15

原创 史上最全 SpringBoot 注解详解

一、注解(annotations)列表1、@SpringBootApplication包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让Spring Boot扫描到Configuration类并把它加入到程序上下文。2、@ComponentScan组件扫描,可自动发现和装配一些Bean...

2020-04-20 22:41:45 8466 9

原创 史上最全 Lombok Features 注解详解

文章目录一、@Getter and @Setter二、@ToString三、@EqualsAndHashCode四、@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor五、@Data六、@Value七、@Builder八、@Accessors九、@Slf4j and @Log4j十、@NonNull十一、@Sync...

2020-04-08 00:39:55 4749 4

原创 spring的controller是单例还是多例,怎么保证并发的安全。

答案:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。我们下面来简单的验证下:package com.riemann.springbootdemo.controller;import org.springframework.context.annotation.Scope;import org.springframew...

2019-07-29 23:48:06 28714 28

原创 Proxyee-down的下载与安装教程

这个工具的名字是 proxyee-down,是在 GitHub 上发现的,工具的地址是:https://github.com/proxyee-down-org/proxyee-down下载安装教程下wiki有:https://github.com/proxyee-down-org/proxyee-down/wiki/软件下载与运行本博客Proxyee-down版本为:2.54Proxy...

2019-04-13 00:04:23 26239 24

原创 史上最全BATJ面试题精选附答案

目录JAVA基础JVM知识开源框架知识操作系统多线程TCP与HTTP架构设计与分布式数据结构与算法数据库知识消息队列缓存搜索JAVA基础String,Stringbuffer,StringBuilder的区。ArrayList和LinkedList有什么区别。什么是HashMap?用过哪些Map类,都有什么区别JAVA8的ConcurrentHashMap...

2019-01-17 21:51:03 2374 6

原创 基于YOLOv8-OBB旋转目标检测数据集与模型训练

2.1 载 YOLOv8 预训练模型在 YOLO/GitHub 项目仓,提供了检测(Detection)、分类(Classification)、分割(Segmentation)、姿态估计(Pose)、定向边界框检测(OBB)等任务的预训练模型。YOLOv8 有多个不同规模的模型,从小到大依次是:YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x。这些模型与各种操作模式兼容,包括推理、验证、训练和导出,便于在部署和开发的不同阶段使用。

2026-01-08 21:29:31 336

原创 老周的 2025 年终总结

站在 2025 年的岁末回望,这一年不仅仅是模型参数量的又一次跃迁,更是 AI 从“屏幕里的聊天机器人”进化为“数字世界原住民”的元年。这一年,我可以说比前一年还魔幻,真的到了疯癫的程度。我们见证了生产力工具的权力更迭,目睹了技术范式的激进演进,也开始严肃思考:当编程不再需要“写代码”,我们将走向何方?其实上面的那些文章已经是我最好的总结了,一年下来,坚持技术输出,传播技术给广大的技术爱好者。我一直认为,技术本身没有价值,只有当你分享的那一刻,帮助到了正需要的人,此刻的技术才有价值。

2026-01-01 18:13:49 987

原创 架构火花 | AI编程驱动组织变革:数据挑战与Agent落地困境

哈喽大家好,我是老周聊架构的主理人老周,今天我们来聊一聊AI编程驱动组织变革:数据挑战与Agent落地困境的话题。前两天参加了腾讯云架构师长沙同盟的圆桌讨论,我会对各位架构师们、企业家们、老师们的思考整理下,并结合自己的思考输出我架构火花第二篇文章。AI编程与团队组织变革数据使用与AI Agent落地AI 开发范式的变革。

2025-12-28 21:38:50 889

原创 架构火花 | 提示词工程在AI时代下的思考

哈喽大家好,我是老周聊架构的主理人老周,今天我们来聊一聊提示词工程的话题。为啥今天会写这个呢?是因为前两天我们那个架构群里针对于提示词工程展开了激烈的讨论。下面我会整理各位群里的架构师以及老师们的精彩分享给大家来一起探讨,以及我会给出我最近一段时间对提示词工程的一些思考。

2025-12-18 21:09:56 781

原创 一文看懂Kubernetes网络整体架构

最近老周做了这么个事情,就是我们总部云是HTTPS访问的,而边缘云是K8S的ServiceIp,协议是HTTP的,由于谷歌逐步禁止HTTPS页面加载HTTP资源,所以总部云访问不了边缘云的HTTP资源。在Pod内部,所有容器通过共享网络命名空间实现无缝通信。我们总部网络访问边缘云的网络还要开墙,可能开墙没来得及或者整条链路网络有问题,那么可以在Nginx上做文章,把HTTPS 443 端口rewrite成原先HTTP的80端口,开关配置成走旧的HTTP那套逻辑,这样的话即使有问题也能无感兼容。

2025-12-11 23:14:26 1093

原创 YOLO11实战——物体检测识别

老周当时了解YOLO的时候是YOLO8,当时很火,但转眼间就YOLO11了。从官方给的性能图来看YOLO11大概是走到此类任务的天花板了,未来几年目标检测的任务可能不会再有很巨大的提升。MAC使用MPS进行GPU深度模型训练(MPS替代CUDA)

2025-12-04 21:17:58 238

原创 Pulsar存储计算分离架构设计之消息副本同步和故障转移机制

我们继续来讲Pulsar存储计算分离架构设计系列,这篇我们来说说消息副本和故障转移机制。在分布式消息系统的高可用性架构中,消息副本机制与故障转移能力是确保数据可靠性和服务连续性的核心支柱,基本上每款消息中间件都有消息副本机制与故障转移能力,包括但不限于Kafka、RocketMQ、RabbitMQ。

2025-11-26 21:07:04 939

原创 Pulsar存储计算分离架构设计之负载均衡与分片管理

我们继续来讲Pulsar存储计算分离架构设计系列,这篇我们来说说负载均衡与分片管理。在分布式消息系统领域,Apache Pulsar凭借其独特的计算存储分离架构和Bundle分片机制,实现了百万级Topic的精细化负载管理。作为云原生时代的消息流平台,Pulsar通过将Namespace划分为逻辑上的Bundle单元,既避免了以单个Topic为调度粒度的性能瓶颈,又突破了传统Namespace整体迁移的资源消耗问题。

2025-11-17 22:39:53 597

原创 Pulsar存储计算分离架构设计之元数据管理

我们前面的Pulsar存储计算分离架构设计系列已经介绍过Broker无状态、存储层BookKeeper的文章了,这篇我们主要来说下元数据管理。在分布式系统的设计哲学中,元数据管理如同人体的神经系统,其架构选择直接决定了系统的扩展性、可靠性与性能边界。

2025-11-10 22:47:07 606

原创 Disaggregated State Management in Apache Flink® 2.0 论文解读

阿里巴巴将Apache Flink应用于所有核心业务场景,充分展现了其在处理海量、大规模实时数据流方面的多功能性。从支撑个性化推荐、大促期间实时仪表盘等动态电商功能,到通过欺诈检测和信用评分实现金融风控,Flink的毫秒级数据处理能力至关重要。该平台还通过实时路线优化和仓储管理提升物流效率,借助动态广告投放和效果追踪增强营销能力,并依靠实时日志与异常检测保障系统稳定性。通过大规模实践及对开源社区的持续贡献,阿里巴巴确立了Flink作为领先流处理引擎的地位[43]。

2025-10-20 20:39:49 1073

原创 Pulsar存储计算分离架构设计之存储层BookKeeper(下)

7.1 Bookie的数据读取流程整体架构读取流程相对于上一篇写入流程来说简单些在整体架构中,数据读取需依次穿透三级缓存:首先访问最上层缓存,未命中则逐级下沉至次级缓存,若三级缓存均未命中,最终触发磁盘访问。值得注意的是,Broker组件内部还存在独立的内存缓存层,用于拦截高频请求。7.2 Bookie的数据读取流程核心时序图7.3 组件模块分析BufferedChannelBase(基础类)含义:所有缓冲通道的基类,提供基本的缓冲功能使用场景:作为其他缓冲通道类的共同基类,提供通用功能。

2025-10-10 21:36:21 782

原创 小红书运营神器!MCP+AI自动发文,爆文率提升200%

运行后,打开红色标记的链接,配置 MCP inspector,输入 http://localhost:18060/mcp ,点击 Connect 按钮。左侧扩展按钮那可以看到 xiaohongshu-mcp,以及右侧可以看到Running、工具的显示,说明xiaohongshu-mcp集成好了。你也可以测下这个自动发布小红书图文内容,老周这里已经用过了,确实会自动唤起小红书发文的页面,自动填充内容然后再发布。看到下面内容发布成功,好家伙直接生成内容直接发布到了小红书,大功告成!

2025-09-26 22:40:34 765

原创 ‌Daft:AI驱动的多模态数据融合引擎

LAS Daft 基于云原生湖仓一体架构,整合了开源分布式执行引擎 Daft 的强大能力,实现了对图文、音视频、点云等多模态数据的统一处理。该系统覆盖了从数据清洗、格式转换到零拷贝对接训练框架的完整数据处理流程。

2025-09-21 20:11:59 1337

原创 智能推荐新纪元:快手生成式技术对系统边界的消融与重建

老周这次受邀作为嘉宾参加了AICon全球人工智能开发与应用大会,本文将基于快手科技副总裁、基础大模型及推荐模型负责人周国睿老师在AICon大会的演讲内容,基于我自己的思考总结分享给大家。

2025-09-14 21:51:22 1097

原创 阿里云大模型应用实战:从技术落地到业务提效

本文将基于阿里云智能蒋林泉老师在 AICon 大会的演讲内容,深入探讨企业级大模型应用的实战经验,分享从技术落地到业务提效的全过程方法论。

2025-08-24 15:48:30 1437

原创 Pulsar存储计算分离架构设计之存储层BookKeeper(上)

我们上文说过,Apache Pulsar 采用了一种典型的"存储计算分离"架构设计:消息内容持久化存储在 BookKeeper 分布式日志存储系统中,集群元数据由 ZooKeeper 协调服务统一管理(当然2.10.0版本移除了ZK是题外话了),而 Broker 节点则专注于消息的路由、协议转换等计算密集型任务,完全解耦了存储与计算功能。这种架构通过职责分离实现了水平扩展能力,其中 BookKeeper 负责数据可靠性保障,ZooKeeper 维护系统状态一致性,Broker 作为无状态服务可动态扩缩容。

2025-08-17 22:00:36 1015

原创 Pulsar存储计算分离架构设计之Broker无状态

在分布式消息队列系统中,传统的架构模式如RocketMQ、RabbitMQ和Kafka等,通常将消息存储和消息处理逻辑集中在Broker节点上。这种模式虽然在一定程度上简化了系统设计,但在面对大规模数据处理和高并发访问时,会面临一些挑战,如单点故障、数据一致性、负载均衡以及扩展性等问题。为了解决这些问题,Apache Pulsar提出了一种全新的架构设计——存储计算分离。

2025-07-22 21:50:40 1129

原创 大数据领域开山鼻祖组件Hadoop核心架构设计

Hadoop作为大数据处理领域的基石性架构,其设计理念体现了"分而治之"的分布式计算哲学。

2025-07-14 22:57:47 1701

原创 聊聊 Pulsar:Consumer 源码解析

在本文中,我们将深入分析 Pulsar Consumer 的源码结构与实现细节,从创建流程、消息拉取、消息确认到负载均衡等方面全面剖析其工作原理,揭示其背后的设计思想与工程实践。

2025-06-17 22:35:49 930

原创 聊聊 Pulsar:Producer 源码解析

Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者负责将消息写入指定的 Topic,从而启动整个消息流转的生命周期。深入解析 Pulsar Producer 的源码,不仅可以了解消息生产的内部实现机制,还能帮助开发者优化客户端性能,同时为调试和扩展提供基础。

2025-06-10 23:27:11 1064

原创 DeepSeek技术架构解析:MLA多头潜在注意力

我们上一篇已经讲了 DeepSeek技术架构解析:MoE混合专家模型这一篇我们来说一说DeepSeek的创新之一:MLA多头潜在注意力。MLA主要通过优化KV-cache来减少显存占用,从而提升推理性能。我们知道这个结论之前,老周带大家一起梳理一下从MHA、MQA、GQA到MLA的演变历程,并着重介绍一下MLA的设计思路。DeepSeek这次的破圈,主要的创新之一:Multi-head Latent Attention架构(MLA),作为对Grouped-Query Attention(GQA)的颠覆性升级

2025-04-01 23:40:57 1824

空空如也

空空如也

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

TA关注的人

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