- 博客(96)
- 收藏
- 关注
原创 基于Canal实现MySQL数据库数据同步
摘要:Canal是阿里巴巴开源的MySQL binlog增量订阅组件,通过伪装MySQL从库监听主库binlog变更实现实时数据同步。其核心架构包含服务端(canal.deployer)、客户端适配器(canal.adapter)和管理平台(canal.admin),支持多种数据源同步。部署需配置MySQL开启binlog并创建专用账号,通过instance.properties定义监控规则。实战案例演示了基于Spring Boot的Canal客户端实现,包含数据变更监听、增删改事件处理及批量同步功能。适用
2025-07-16 22:28:06
462
原创 Sharding-JDBC 分布式事务实战指南:XA/Seata 方案解析(三)
本文介绍了Sharding-JDBC分布式事务的两种实现方案:XA事务和BASE事务(Seata AT模式)。XA事务采用2PC协议保证强一致性,适用于金融交易等场景;BASE事务通过Seata实现最终一致性,适合高并发电商场景。文章详细讲解了两种事务的实战步骤,包括依赖引入、配置设置和代码实现,并分析了它们的底层原理:XA事务通过两阶段提交协议协调多库操作,Seata事务则通过TC、TM、RM三个核心组件实现分布式事务管理。同时提供了官方文档和示例代码链接,帮助开发者快速上手Sharding-JDBC分布
2025-07-15 23:48:26
729
原创 Seata 分布式事务解决方案
Seata是一款开源的分布式事务解决方案,提供AT、XA、TCC和Saga四种事务模式。其架构包含TC(事务协调器)、TM(事务管理器)和RM(资源管理器)三个核心组件。AT模式基于两阶段提交优化,通过解析SQL生成前后镜像实现自动补偿;XA模式采用原生数据库XA协议确保强一致性;TCC模式通过Try、Confirm、Cancel三接口实现事务控制;Saga模式适用于长事务场景,通过正向服务和补偿服务处理事务失败。Seata支持多种存储模式和注册中心,需配合Nacos等配置中心使用。各模式适用不同场景:AT
2025-07-15 10:22:27
904
原创 分布式ID方案
分布式ID方案选型指南 本文对比主流分布式ID方案的核心指标与技术特性:UUID简单但无序,适用于非数据库场景;Snowflake趋势递增但存在时钟回拨风险;美团Leaf通过号段双Buffer实现高可用;百度UidGenerator采用RingBuffer预缓存提升性能但存在时间限制;CosId以无锁号段链设计实现1.27亿/秒超高吞吐。选型需权衡有序性、性能与运维复杂度,CosId在分库分表等高并发场景表现突出,而Leaf适合需要DB容灾的系统。新一代方案正通过架构创新突破性能边界。
2025-07-10 14:12:48
952
原创 ShardingSphere实现原理以及内核解析(二)
Apache ShardingSphere 5.x采用可插拔架构,支持数据分片、读写分离等功能模块化扩展。其数据分片流程包含SQL解析、路由、改写、执行和归并五个阶段:解析阶段提取分片键,路由阶段根据分片键精准定位分片或广播路由,改写阶段替换逻辑表名为物理表名,执行引擎并发处理物理SQL,最后通过流式或内存方式归并结果。核心引擎包括解析引擎(支持多方言解析)、路由引擎(分单片/多片/范围路由)、改写引擎(逻辑SQL适配物理环境)和执行引擎(动态选择连接模式平衡效率与资源)。系统提供流式归并和内存归并两种结果
2025-07-09 23:50:14
1004
原创 流式分组归并核心算法实现
文章摘要: 本文展示了一个基于MySQL分片数据的流式分组聚合实现方案。通过ShardConnection类管理各分片连接,采用ResultSet流式读取技术处理大数据量。核心StreamingGroupMerger类使用优先队列按分组键排序,实现跨分片数据的归并聚合,支持SUM/COUNT/AVG等聚合操作。系统通过动态维护优先队列,实现了内存友好的流式处理,避免一次性加载所有数据。示例代码演示了从三个MySQL分片读取商品分类价格数据,并按分类汇总总价的过程,最后正确关闭所有数据库连接。该方案适用于海量
2025-07-08 21:29:30
104
原创 Sharding-JDBC分库分表实战指南(一)
本文介绍了Apache ShardingSphere-JDBC的核心功能与应用实践。主要内容包括:1) ShardingSphere-JDBC作为轻量级Java框架,提供数据分片和读写分离功能,兼容JDBC和ORM框架;2) 详细解析分库分表的核心概念,包括虚拟库/表、真实库/表、分片策略等;3) 通过SpringBoot整合案例演示水平分库分表实现;4) 深入讲解四种分片策略(行表达式、标准、复合、Hint)的应用场景和配置方式;5) 介绍读写分离、广播表、绑定表等高级特性的实现原理和配置方法。文章还包含
2025-07-08 14:10:09
859
原创 Spring Boot多数据源切换:三种实现方式详解与实战
本文详细介绍了三种Java多数据源切换方案:AbstractRoutingDataSource、多SqlSessionFactory和dynamic-datasource框架。AbstractRoutingDataSource作为Spring原生方案灵活性高但较复杂;多SqlSessionFactory适合异构数据库但配置繁琐;dynamic-datasource框架功能完善且易于使用,是生产环境首选。文章从实现原理、配置步骤、优缺点对比等方面进行深入分析,并给出性能优化建议和方案选型指导。对于大多数项目,
2025-06-15 23:59:05
1448
原创 11. Spring AI Alibaba 实战
SpringAI Alibaba发布,深度集成通义大模型和百炼平台,为Java开发者提供便捷的AI集成方案。开发者需配置环境变量API_KEY,引入相关依赖即可快速接入。示例代码展示了ChatClient的三种调用方式:简单调用、流式调用和带Advisor的增强调用,支持上下文记忆、日志记录等功能。此外还介绍了本地RAG应用集成、智能机票助手等高级场景,以及RetrievalRerankAdvisor与RerankModel的核心差异与协同机制,后者通过多阶段处理(检索-过滤-精排)优化结果。
2025-06-14 00:39:53
736
原创 10. 重磅!Spring AI 1.0 正式发布,Java 开发者的 AI神器!
重磅!Spring AI 1.0 正式发布,Java 开发者的 AI神器! 全网最详细的Spring AI 文章,每章都会提供代码入口,让你更容易得入门和理解Spring AI 相关概念,直接节约你百分之六十的学习成本时间。
2025-06-08 21:43:25
254
原创 9. Spring AI 各版本的详细功能与发布时间整理
以下是各版本的详细功能与发布时间整理(基于公开信息与版本演进逻辑推断),覆盖0.8.1M1-M8及GA。
2025-05-25 16:53:45
466
原创 Claude MCP协议从入门到精通
简单理解,大模型虽然聪明,但不具备调用外部工具的能力,比如用户让大模型写一篇文章,大模型写出来之后,用户需要手动把文章复制粘贴到本地或者自媒体平台,并且手动发布。有了MCP协议之后,大模型就可以通过MCP协议,调用外部工具,自动把文章保存到本地或者发布到自媒体平台。
2025-05-23 14:55:51
129
原创 多智能体Multi-Agent应用实战与原理分析
在当今的开发环境中,Agent 的出现极大地简化了工作流程。其底层主要基于提示词、模型和工具。用户只需向 Agent 输入需求,Agent 便会自动分析需求,并利用工具获取最终答案。而传统方式下,若没有 Agent,我们则需要手动编码来执行工具,还要将工具执行结果返回给大模型,甚至往往需要反复循环执行这一过程多次。Agent 的运用,有效节省了人力和时间成本,提高了开发效率。
2025-05-15 22:21:53
239
原创 Pytorch-CUDA版本环境配置
全球的深度学习研究人员和框架开发者都依赖 cuDNN 来实现高性能 GPU 加速。借助 cuDNN,研究人员和开发者可以专注于训练神经网络及开发软件应用,而不必花时间进行低层级的 GPU性能调整。cuDNN 可加速广泛应用的深度学习框架,包括 Caffe2、Keras、MATLAB、NVIDIA CUDA深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络基元库,能够以高度优化的方式实现标准例程(如前向和反向卷积、池化层、归一化和激活层)。,选择合适的系统平台,关键是在。
2025-05-03 18:10:56
4011
1
原创 大语言模型的评估指标
Accuracy、Precision、Recall主要用于分类任务(如翻译、摘要),评估模型预测的准确性、精确性和覆盖性。而BLEU、ROUGE用于生成任务(如情感分析、意图识别),如机器翻译和文本摘要,评估生成文本的质量。PPL(困惑度)则用于评估语言模型本身的预测能力,不直接涉及具体任务的结果。核心定位与任务类型指标类型适用任务核心目标生成任务(文本生成、翻译、摘要)评估生成文本的质量(内容匹配、流畅性)分类任务(二分类、多分类)评估分类结果的准确性、覆盖度与精准度。
2025-04-23 11:49:07
1169
原创 循环神经网络(RNN)
本文介绍了自然语言处理(NLP)中的词嵌入层和循环神经网络(RNN)的应用。词嵌入层通过将文本转换为向量表示,使得计算机能够处理自然语言数据。RNN则用于建模序列数据,捕捉文本中的时间依赖关系。通过一个周杰伦歌词生成的案例,展示了如何利用RNN构建文本生成模型。首先,通过分词和构建词表将歌词数据数值化,然后使用RNN提取语义特征,并通过全连接层输出预测结果。模型训练后,可以输入起始词生成指定长度的歌词序列。整个过程包括数据预处理、模型构建、训练和预测,最终实现了基于RNN的文本生成任务。
2025-04-10 18:18:36
727
原创 卷积神经网络CNN
从零开始学习卷积神经网络(CNN)!这篇文章带你全面掌握图像分类的核心原理与实战技巧。从图像像素、通道的基础知识,到卷积层、池化层的计算原理,再到PyTorch代码实现,手把手教你搭建CNN模型。通过CIFAR-10数据集,快速上手图像分类任务,从模型训练到测试精度计算,一步到位!无论是初学者还是进阶者,这篇文章都能让你轻松掌握CNN的精髓!
2025-04-09 15:32:21
2318
原创 彻底弄懂Transformer核心原理与实战应用
这篇文章深入剖析了Transformer架构,从其工作流程、编码器与解码器的详细结构,到多头注意力机制、残差连接、层归一化等关键模块,结合丰富代码示例,清晰展示了Transformer如何处理序列数据并生成文本。无论是初学者还是进阶研究者,都能从中快速掌握Transformer的核心原理与实现细节,是理解现代NLP技术的绝佳读物。
2025-04-08 17:45:23
830
原创 相似度计算全攻略:从理论到Python实战
相似度计算是数据分析和机器学习中的基础任务,广泛应用于推荐系统、聚类分析、自然语言处理等领域。根据数据特性(如维度、稀疏性、分布类型)和任务目标(如相似性排序、聚类、相关性分析)选择合适的方法,必要时可结合归一化或降维预处理。非对称性:DKL(P∥Q)≠DKL(Q∥P)DKL(P∥Q)=DKL(Q∥P)。将集合表示为二进制向量(存在为1,否则为0),再计算余弦相似度。与余弦相似度的关系:点积 = 余弦相似度 × 向量长度的乘积。衡量两个变量的线性相关性,取值范围:[-1, 1]。
2025-03-30 22:35:24
789
原创 神经网络基础(NN)
这篇文章详细介绍了神经网络的基础知识、组成要素、优化方法、正则化策略以及一个完整的案例——使用神经网络构建手机价格分类模型。文章从神经网络的定义、神经元模型讲起,逐步深入到激活函数、权重初始化、损失函数、优化器等内容,并通过手机价格分类案例展示了从数据预处理到模型构建、训练、优化和部署的全过程,适合深度学习初学者系统学习。
2025-03-27 18:12:40
2025
原创 深度学习四大核心架构:神经网络(NN)、卷积神经网络(CNN)、循环神经网络(RNN)与Transformer全概述
NN → 类比:盲人摸象,每个神经元独立感知全局特征 → 局限:输入图像需展平为向量,丢失空间信息(如将28x28图片变成784维向量)CNN → 类比:人类视觉系统,先识别边缘→形状→物体 → 实战:用3x3卷积核扫描猫的图片,提取耳朵、胡须等局部特征RNN → 类比:阅读理解,需记住前文才能理解后文 → 痛点:输入句子“The cat sat on the mat”,到第6个单词时可能已遗忘“cat”Transformer → 类比:团队协作,每个单词直接关注全局上下文 → 优势:处理句
2025-03-26 11:41:35
1984
1
原创 PyTorch 入门学习
PyTorch 是 Facebook 开发的深度学习框架,专注于张量计算和自动微分,提供高效张量库和动态计算图,支持 GPU 加速,适用于构建神经网络。它在学术研究、自然语言处理、计算机视觉等领域广泛应用。PyTorch 提供灵活的张量操作和自动微分功能,便于模型构建与训练。
2025-03-13 22:05:07
1087
原创 PyTorch 学习路线
关键是多写代码、多调试、多阅读他人代码。掌握张量(Tensor)操作、自动微分(Autograd)、动态计算图。编写完整的训练代码:前向传播、损失计算、反向传播、优化器更新。学习如何创建和操作张量(类似 NumPy,但支持 GPU)。:熟悉 Python 语法(变量、函数、类、模块等)。:理解神经网络、损失函数、优化器(如梯度下降)等概念。:了解线性代数、微积分、概率论(深度学习的基础)。:用预训练模型(如 ResNet)进行图像分类。数学基础推荐书籍:《深度学习》(花书)前两章。
2025-03-08 14:45:00
1171
原创 Python 入门教程
这是一个全面的Python编程教程,涵盖了基础语法、数据类型、流程控制、函数、面向对象编程等核心内容。它从注释、变量、数据类型讲起,逐步深入到运算符、输入输出、模块导入、流程结构、循环控制、数据结构操作、函数定义、作用域、类与对象、继承、重写、魔术方法等高级特性。通过大量示例,帮助初学者系统学习Python编程。
2025-02-27 16:40:58
707
原创 Anaconda3 介绍和安装
Anaconda是一个开源的 Python 和 R 语言发行版,专注于数据科学、机器学习和科学计算主要面向数据科学和机器学习领域。它集成了大量常用的科学计算库(如 NumPy、Pandas、Matplotlib、Scikit-learn 等),并提供了强大的包管理工具Conda和环境管理功能,适合快速部署和管理复杂的开发环境。
2025-02-16 19:40:06
815
原创 大模型基本概念了解
Function Calling 让大模型调用外部工具或 API,扩展能力并获取实时数据。RAG 通过检索外部知识库增强生成能力,适合开放域问答。多模态结合多种模态(如文本、图像、音频)进行信息处理,支持复杂任务。大模型微调通过调整参数提升模型在特定任务或领域的性能,包括全参数微调、参数高效微调等方法。
2025-02-09 14:12:54
874
原创 【RocketMQ】RocketMq之ConsumeQueue深入研究
RocketMQ的存储文件分为CommitLog、ConsumerQueue和IndexFile。ConsumeQueue记录消息在CommitLog中的索引,每个条目20字节,包含CommitLog Offset、Message Length和Tag HashCode。写入时,消息先写入CommitLog,再由ReputMessageService异步构建到ConsumeQueue。查询时,消费者通过逻辑偏移量查询ConsumeQueue,获取物理偏移量后从CommitLog读取消息。
2025-02-08 16:27:53
1042
原创 【RocketMQ】RocketMq之CommitLog深入研究
这篇文章详细介绍了 RocketMQ 5.3.0 版本中 CommitLog 的存储结构、写入和查询流程,以及文件同步刷盘与异步刷盘机制。CommitLog 是 RocketMQ 存储消息元数据的核心组件,采用顺序写入和文件滚动机制,支持高性能写入。文章还分析了同步刷盘与异步刷盘的实现细节,以及 RocketMQ 在文件清理、索引构建和故障恢复方面的设计优势。
2025-02-08 14:35:10
1432
原创 【RocketMQ】RocketMq之IndexFile深入研究
RocketMQ 的 **IndexFile** 通过 **链地址法** 解决哈希冲突,将冲突条目组织成链表,结合哈希槽固定数量、时间范围过滤和文件滚动机制,实现高效写入与查询。其核心设计包括哈希槽定位、链表插入与遍历、时间差计算等,确保高吞吐量和查询性能,是分布式消息队列中索引管理的经典实现。
2025-02-03 20:37:24
1206
原创 Redis 之持久化
Redis提供了两个持久化数据的能力,RDB Snapshot 和 AOF(Append Only FIle)日志,RDB快照能够在指定的时间间隔内生成数据快照,而AOF日志则记录了所有的写操作命令。RDB做镜像全量持久化,AOF做增量持久化。 RDB全称Redis Database Backup file (Redis数据备份⽂件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。 当Redis实例故障重启后,从磁盘读取快照⽂件,恢复数据。这样一来即使
2024-12-03 17:02:23
1219
原创 Redis 底层数据结构
Redis6 和 Redis7 最大的区别就在于 Redis7 已经用 listpack 替代了 ziplist.以下是基于 Redis 7基础分析。Redis是⼀个型的数据库,其中key通常都是string类型的字符串对象,⽽value在底层就统⼀是redisObject对象。Redis中的任意数据类型都会被封装为⼀个,也叫做Redis对象,redisObject结构,实际上就是Redis内部抽象出来的⼀个封装所有底层数据结构的统⼀对象。这就类似于Java的⾯向对象的设计⽅式。
2024-11-27 22:26:26
1085
原创 Redis 高并发缓存架构实战与性能优化
面试官很喜欢问的一个问题,你们系统有用 Redis?使用Redis实现了哪些业务场景?如何保证数据的一致性?缓存穿透,缓存击穿(缓存失效),缓存雪崩
2024-11-15 00:39:27
1850
1
原创 Redis 高并发分布式锁实战
Redis,Spring boot, nginx,jmeter,Synchronized锁,redis的setnx 实现分布式锁,Lua脚本原子删除锁,使用Redission 实现分布式锁
2024-11-09 10:58:38
2049
原创 京东毫秒级热key探测框架JD-hotkey
JD-hotkey 框架介绍JD-hotkey 核心结构JD-hotkey 工作流程JD-hotkey 安装流程JD-hotkey 使用流程
2024-11-03 23:20:22
2172
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人