- 博客(80)
- 收藏
- 关注
原创 深入浅出 RabbitMQ - 主题模式(Topic)
主题模式是 RabbitMQ 中最灵活的消息分发模式,核心是基于通配符的路由键(Routing Key)匹配。交换机类型:必须使用Topic类型(主题交换机)。路由键格式:路由键由多个“词”组成,词之间用分隔(如,其中orderlogerror是三个词)。通配符规则:队列与交换机绑定时,Binding Key 可使用通配符::匹配恰好1个词(如可匹配,但不能匹配:匹配1个或多个词(如可匹配等)。转发逻辑。
2025-08-06 16:58:29
1246
36
原创 飞算JavaAI开发平台:重构开发全流程——从需求到工程的智能化跃迁
技术栈自由定制:支持Java等主流栈,甚至可混搭(如Java做后端,Python做AI模块)。架构与规范内置分层架构:预设MVC、微服务等模板,自动生成目录结构。代码规范:集成阿里Java规约,还支持自定义规则。安全规范:默认开启接口鉴权、XSS防护,可配置数据加密。飞算JavaAI开发平台的本质,是将开发流程“标准化”与“智能化”结合工程级规范解决“团队协作乱”的问题,引导式生成解决“需求落地慢”的问题,智能编程辅助解决“编码效率低”的问题。
2025-08-06 16:53:14
739
9
原创 深入浅出 RabbitMQ-路由模式详解
路由模式是RabbitMQ中一种基于「标签匹配」的消息分发机制。消息通过指定的“路由键”(Routing Key),被交换机精准转发到绑定了相同键值的队列。与广播模式(Fanout)不同,路由模式不会“雨露均沾”——只有当消息的Routing Key与队列绑定的Binding Key完全匹配时,消息才会被投递。这种特性让它成为需要“定向处理消息”场景的理想选择。路由模式是RabbitMQ中实现“精准消息投递”的核心方案,尤其适合需要按消息类型/级别差异化处理的场景(如日志分级、订单状态通知等)。
2025-08-05 11:08:16
1767
21
原创 深入浅出 RabbitMQ-交换机详解与发布订阅模型实战
本文深入讲解RabbitMQ交换机的核心概念与实战应用。首先分析了4种交换机类型(Direct/Fanout/Topic/Headers)的特点及适用场景,重点介绍了发布订阅模型中Fanout交换机的广播机制。通过Java代码示例演示了如何实现消息生产者发送广播消息,以及多个消费者同时接收消息的完整流程。文章包含详细的环境配置说明、参数解释和注意事项,帮助开发者快速掌握RabbitMQ的灵活消息路由能力。适用于需要实现消息广播、日志分发等场景的开发人员
2025-08-05 11:02:05
1767
31
原创 深入浅出 RabbitMQ:工作队列实战(轮训策略VS公平策略)
摘要 本文介绍了RabbitMQ工作队列的两种消息分配策略:轮训策略和公平策略。工作队列通过多个消费者共同处理同一队列的消息,解决"生产快、消费慢"的问题。轮训策略是RabbitMQ默认的分配方式,将消息依次轮流发送给每个消费者,不考虑处理速度差异。文章提供了完整的Java代码实现,包括消息生产者发送10条测试消息,以及两个消费者通过手动确认消息的方式接收处理。通过设置虚拟主机、关闭自动确认等配置,演示了如何构建可靠的工作队列消费模式。
2025-08-04 15:25:15
2135
29
原创 深入浅出 RabbitMQ:简单队列实战指南
本文介绍了RabbitMQ简单队列的实战应用,主要包含以下内容: 简单队列概念:点对点通信模式的基础实现 环境准备:包括RabbitMQ服务配置和Java客户端依赖 代码实现: 生产者:创建连接、声明队列、发送消息 消费者:建立连接、监听队列、处理消息 关键参数说明:队列声明、消息发送和消费的重要配置项 注意事项:生产者和消费者需保持一致的虚拟主机和队列配置
2025-08-04 15:22:26
1413
20
原创 飞算科技:用AI与数智科技,为产业数字化转型按下“加速键”
飞算科技以AI与数智科技为核心,为企业数字化转型提供全链条解决方案。其JavaAI开发助手能自动生成高质量代码,显著提升开发效率;SoFlu软件机器人和SoData数据机器人则构建产业数智化底座,实现业务应用快速搭建和数据价值挖掘。公司已获得多项国际认证,服务金融、政务等领域头部客户,凭借"软件科技+数智应用+产业科技"的组合拳,解决数字化转型中的效率、成本和落地难题,成为企业数智化转型的可靠合作伙伴。
2025-07-22 12:15:56
1245
23
原创 深入浅出 RabbitMQ-核心概念介绍与容器化部署
RabbitMQ是一款基于AMQP协议的开源消息代理,通过异步通信机制解决分布式系统中的服务耦合、流量峰值和同步阻塞问题。其核心优势包括灵活的路由规则(Direct/Topic/Fanout交换器)、多业务隔离(虚拟主机)和高可用特性(集群/镜像队列)。典型应用场景包括异步解耦(如订单系统与库存系统分离)和流量削峰(缓冲突发请求)。本文详细解析了RabbitMQ的组件架构(Connection/Channel/Exchange/Queue)、消息流转流程,并提供了Java代码示例展示用户注册场景的消息
2025-07-15 17:12:10
2159
44
原创 分库分表之实战-sharding-JDBC分库分表执行流程原理剖析
本文深入解析 Sharding-Jdbc 分库分表执行机制。其作为应用层嵌入式代理,通过引入 jar 包内置分库分表逻辑,屏蔽多库复杂度,实现逻辑表到真实数据节点的自动映射。核心流程为五步:SQL 解析(词法、语法分析提取分片上下文);路由(依分片键或广播策略定位节点);改写(逻辑 SQL 转物理 SQL);执行(内存 / 连接限制模式平衡效率与资源);结果归并(流式 / 内存方式聚合多节点结果)。全文结合架构与流程拆解,助开发者理解底层机制,支撑高并发大数据场景实践。
2025-07-10 15:27:09
1610
41
原创 【SpringBoot实战系列】SpringBoot3.X 整合 MinIO 存储原生方案
本文基于 SpringBoot3.X 版本,详细介绍了通过原生 SDK 整合 MinIO 对象存储服务的完整方案。内容涵盖环境准备(JDK、MinIO 服务部署等)、项目依赖配置、核心配置文件与配置类编写,以及文件上传等核心功能的开发实现,并包含接口测试验证方法与桶权限管理等注意事项。方案依托 MinIO 兼容 S3 API、轻量级部署的特性,结合 SpringBoot 的自动化配置优势,可快速满足云存储、内容管理系统等场景的文件存储需求,为开发者提供了从环境搭建到功能落地的全流程指南。
2025-07-10 15:25:08
1232
31
原创 分库分表之实战-sharding-JDBC水平分库+分表后:查询与删除操作实战
本文主要探讨了在水平分库分表架构中,查询和删除操作的路由逻辑及其性能影响。文章通过实战案例,详细解析了在有分片键和无分片键场景下的路由规则,并结合Sharding-JDBC的实现原理,总结了高效操作的最佳实践。
2025-07-09 16:44:06
1561
28
原创 分库分表之实战-sharding-JDBC绑定表配置实战
本文详细介绍了 Sharding-JDBC 中的绑定表机制,旨在优化分布式数据库中多表关联查询的性能。绑定表是指分片规则完全一致的主表与子表,通过强制同分片关联,避免了笛卡尔积查询和数据关联错误的问题。文章通过实战案例,展示了如何在 Sharding-JDBC 中配置绑定表,并解释了绑定表的查询原理和注意事项。最后总结指出,绑定表是优化分片子表关联查询的核心机制,能够显著提升分布式查询的效率和稳定性。
2025-07-09 16:40:47
1442
25
原创 分库分表之实战-sharding-JDBC水平分库+水平分表配置实战
摘要 本文介绍了使用Sharding-JDBC实现水平分库分表的实战案例。主要内容包括: 架构设计:采用user_id取模分库和product_order_id取模分表策略,确保数据均匀分布。 配置实现:详细展示了SpringBoot项目中application.properties的配置方法,包括分库分表规则定义和实际数据节点设置。 测试验证:通过单元测试生成模拟数据,并分析了逻辑SQL与实际路由SQL的转换过程,验证了分片策略的正确性。 结果展示:确认数据按照预期规则被正确分布到ds0和ds1两个库的p
2025-07-08 20:53:08
1222
32
原创 分库分表之实战-sharding-JDBC广播表
本文深入解析Sharding-JDBC广播表的核心概念与实战应用。广播表作为分库分表场景中的特殊设计,通过全库复制机制确保数据一致性,适用于字典表、配置表等需高频关联查询的小表场景。文章详细演示了Spring Boot项目中广播表的配置流程,包括SQL建表、POJO定义、配置参数设置及单元测试验证,并提供了字段命名规范、表结构变更等避坑指南。最后总结广播表的适用场景与决策建议,强调其在简化跨库关联、提升查询效率方面的优势,同时提醒需权衡存储成本和同步开销。
2025-07-08 20:42:29
1492
27
原创 分库分表之实战-sharding-JDBC
本文介绍了使用Sharding-JDBC实现分库分表的实战教程。主要内容包括: 创建SpringBoot2.5+MybatisPlus项目环境,配置Maven依赖 准备测试数据库环境,创建两个订单数据库(ccc_shop_order_0/1)和对应的订单表(product_order_0/1) 详细讲解分库分表配置,包括Sharding-JDBC的整合与使用 实现分布式ID生成方案,解决分库分表下的ID冲突问题 文章属于分库分表系列教程的第6篇,前5篇分别介绍了数据库性能优化、分库分表优缺点、分片分类、策略
2025-06-30 19:43:02
1037
10
原创 虚拟机中使用docker部署MySql8.0并进行连接与设置允许远程连接
本文详细介绍了Docker的安装配置及MySQL8.0容器化部署流程。主要内容包括: Ubuntu/CentOS系统下Docker的完整安装步骤,包括镜像加速配置和常见权限问题解决方案 MySQL8.0容器化部署方法,包含数据卷挂载和配置文件设置 MySQL客户端安装及连接测试 配置MySQL远程访问的完整流程,包括修改配置文件、开放防火墙端口等 最终通过Java代码验证远程连接成功 文章提供了详细的命令行操作步骤和常见问题解决方案,适合需要快速部署Docker环境下的MySQL服务的开发者参考。
2025-06-30 16:29:53
638
6
原创 分库分表下的 ID 冲突问题与雪花算法讲解
分库分表场景下传统自增ID会导致主键冲突,本文对比分析了五种分布式ID方案:改进型数据库自增ID(步长设置)、UUID(全局唯一但无序)、Redis发号器(高性能但依赖外部服务)、Snowflake算法(趋势递增)和数据库号段模式(批量化)。重点剖析了Snowflake算法的64位结构设计(时间戳41位+数据中心5位+机器ID5位+序列号12位),并提供了Java实现示例。方案选型建议根据业务场景在性能、唯一性、依赖性等维度权衡,Snowflake
2025-06-22 20:41:59
929
4
原创 分库分表技术栈讲解-Sharding-JDBC
本文对比分析业界主流分库分表中间件,从架构模式、性能、适用场景等维度展开。客户端模式(如Sharding-JDBC)以jar包形式集成,性能最优但需代码改造;代理模式(如Mycat)对应用透明但存在性能损耗。文章详细对比了Sharding-JDBC、Mycat、Sharding-Proxy和TDDL的核心特性,包括数据库支持、分片规则、事务能力等,为技术选型提供参考。最后指出选型需综合考虑项目规模、团队能力和运维成本,中小项目可优先考虑Sharding-JDBC,异构系统则适合Mycat方案。
2025-06-22 19:42:28
878
3
原创 分库分表之策略
摘要 本文详细解析了数据库分库分表的核心策略——RANGE范围拆分与Hash取模拆分。RANGE拆分通过区间分段实现数据分片,适用于日志类、时效性强及可预测增长的场景,具有扩容简单、规则清晰等优势,但存在数据热点、资源利用率低等问题。Hash取模则利用哈希函数将数据均匀分布,适合用户维度强相关业务,需处理扩容时的数据迁移难题。文章通过具体案例对比两种策略的适用场景与实现逻辑,为数据库性能优化提供实践指导。
2025-06-19 20:18:27
1341
3
原创 分库分表之数据库分片分类
本文系统分析了数据库分库分表优化方案。首先介绍垂直分表,通过拆分主表和扩展表减少IO负载,适用于大字段和低频访问场景。然后阐述垂直分库如何按业务模块拆分数据库解决资源瓶颈。文章重点解析水平分库分表技术,包括范围、哈希等多种拆分策略,解决单表数据量过大和并发性能问题。最后探讨分库分表带来的技术挑战及解决方案,如跨库查询、分布式事务等。提供了电商系统等实际案例,并对比不同方案的优缺点,为数据库性能优化提供系统指导。(149字)
2025-06-18 16:33:58
848
4
原创 分库分表之优缺点分析
《分库分表技术解析:原理、挑战与实战应对策略》 文章系统剖析了分库分表技术的内在逻辑与核心挑战。首先揭示了数据库性能的三大瓶颈:连接数限制、单表数据膨胀和并发压力,指出分库分表是突破这些限制的关键手段。随后深入分析了由此衍生的六大技术难题:跨节点Join查询、分布式事务一致性、排序分页计算、全局ID生成、动态扩容规划以及中间件选型困境,并通过电商订单等典型场景说明问题本质。文章特别强调,分库分表不是简单的数据拆分,而是需要权衡业务特征与技术复杂度,配套解决方案需覆盖从数据迁移到查询优化的全流程。最后预告将针
2025-06-18 15:20:26
816
5
原创 由一个面试题引发出的众多面试题之数据库性能优化
数据库性能优化方案 针对单表千万级数据且持续增长导致的性能问题,核心优化思路如下: 索引优化 分析慢查询日志,使用EXPLAIN检查索引使用情况 针对高频查询创建合适索引,避免全表扫描 定期重建索引解决碎片化问题 I/O性能提升 扩大InnoDB缓冲池大小 考虑SSD存储提升I/O速度 避免SELECT *查询,减少数据传输量 查询优化 更新统计信息确保优化器准确决策 重写复杂查询,减少JOIN和子查询 使用覆盖索引减少回表操作 架构扩展 考虑分表分库策略 读写分离减轻主库压力 冷热数据分离,归档历史数据
2025-06-17 20:39:34
1055
5
原创 SpringBoot框架与应用与面向切面编程
摘要:SpringBoot框架通过"约定优于配置"理念,解决了传统Java EE开发的配置复杂性问题。其核心特性包括:自动配置机制(基于类路径智能推断)、标准化起步依赖管理、嵌入式容器简化部署、灵活的外部化配置系统。SpringBoot与SpringCloud的无缝集成使其成为构建微服务架构的首选,支持快速开发RESTful API和服务间通信。该框架显著提升了Java企业级应用的开发效率,实现"开箱即用"的生产级别应用搭建。
2025-06-12 17:17:33
749
6
原创 C++实现图书管理系统(Qt C++ GUI界面版)
qtc++,文件流存储,面向对象,图书管理系统,GUI界面,多文件,运算符重载,多态,封装,继承
2025-01-05 17:10:36
859
4
原创 【JavaScript】实现仿windows计算器(完整版)
js实现仿windos计算器往期源码回顾:【Java】实现绘图板(完整版)【C++】图书管理系统(完整板)【Java】实现计算器(完整版)【Python】实现爬虫,爬取天气情况并进行分析(完整版)【Java】实现记事本(完整版)【Java】实现多线程计算阶乘和(完整版)【Java】实现聊天程序(完整版)本项目速览:3.功能模块划分:4.部分函数流程图:5.设计与实现
2022-09-02 00:27:07
2832
26
原创 【SpringBoot实战系列】Sharding-Jdbc实现分库分表到分布式ID生成器Snowflake自定义wrokId实战
分库分表雪花算法Sharding-jdbc
2022-07-27 00:01:05
1248
17
原创 【SpringBoot实战系列】阿里云OSS接入上传图片实战
是在ApacheLicensev2.0下发布的对象存储服务器,学习成本低,安装运维简单,主流语⾔的客户端整合都有,号称最强的对象存储⽂件服务器,且可以和容器化技术docker/k8s等结合,社区活跃但不够成熟,业界参考资料较少。优点功能强⼤、可以根据业务做⼆次的定制,新⼀代分布式⽂件存储系统,容器化结合强⼤,更重要的是免费(购买磁盘、内存、带宽)阿⾥云⽤于各个产品的权限,基于RBAC、ACL模型都有,进⾏简单管理账号、统⼀分配权限、集中管控资源,从⽽建⽴安。安全、低成本、⾼持久的云存储服务。...
2022-07-25 00:06:30
1489
16
原创 SpringBoot实战系列之图形验证码开发并池化Redis6存储
使⽤连接池不⽤每次都⾛三次握⼿、每次都关闭Jedis相对于直连,使⽤相对麻烦,在资源管理上需要很多参数来保证,规划不合理也会出现问题。如果pool已经分配了maxActive个jedis实例,则此时pool的状态就成exhausted了。注意将配置里的host和password改为。验证码内容的范围(数字,字⺟,中⽂汉字!验证码图⽚的⼤⼩,边框,边框粗细,边框颜⾊。验证码的样式(⻥眼样式、3D、普通模糊)验证码的字体/⼤⼩/颜⾊。...
2022-07-24 00:00:41
598
27
原创 SpringBoot实战系列之从Async组件应用实战到ThreadPoolTaskExecutor⾃定义线程池
ThreadPoolExecutor,这个类是JDK中的线程池类,继承⾃Executor,⾥⾯有⼀个execute()⽅法,⽤来执⾏线程,线程池主要提供⼀个线程队列,队列中保存着所有等待状态的线程,避免了创建与销毁的额外开销。Spring在扫描bean的时候会扫描⽅法上是否包含@Async注解,动态地⽣成⼀个⼦类(即proxy代理类),当这个有注解的⽅法被调⽤的时候,实际上是由代理类来调⽤的,代理类在调⽤时增加异步作⽤。查看核⼼线程池是否已满,不满就创建⼀条线程执⾏任务,否则执⾏第⼆步。...
2022-07-23 00:00:14
1059
14
原创 Gitee仓库介绍和项目纳入版本管理+ignore文件配置
是⼀个版本管理⼯具,其作⽤就是可以让你更好的管理你的程序,⽐如你原来提交过的内容,以后虽然修改了,但是通过git这个⼯具,可以把你原来提交的内容᯿现出来,这样对于你后来才意识到的⼀些错误的更改,可以进⾏还原。1.打开powshell本地⽣成公钥,输入命令ssh-keygen-trsa-C“你的邮箱”还可参考⽣成公钥⽂档https//gitee.com/help/articles/4181。配置好后,在idea中项目的根目录终端输入。我的-》点击对应项目-》管理-》添加公钥。...
2022-07-21 00:42:30
770
4
原创 环境搭建大集合(Docker搭建各种中间件)
1.docker部署Mysql8.0 docker部署Redis6docker部署nacos2.x+持久化Mysql8docker部署RabbitMQ
2022-07-21 00:27:43
1205
10
原创 一起刷算法与数据结构-树篇1
重建二叉树 二叉树的下一个节点树的子结构二叉树的镜像对称的二叉树 不分行从上往下打印二叉树二叉搜索树的后续遍历序列二叉树中和为某一值的路径二叉搜索树的第K个节点二叉树的深度...
2022-07-19 16:52:08
417
15
原创 一起刷算法与数据结构-链表篇2
一般具有这种旁边的第一个最大/最小问题,我们都可以用单调栈解决,一般来说都是找左边的,这样便于我们编写代码,而这题确是从右边找,但是我们只需要逆序开始从左找,再把答案反向输出,即可得到本题答案。目前力扣上的关于链表的题目都刷的差不多了,除了实在不会的以及和树相关的,等着和树一起刷,接下来就是刷树啦!好了,链表篇就告一段落啦,我没有解决的题解决了会更新滴,大家也可以去尝试尝试哦!题目7.链表中的下一个更大节点。题目6.两两交换链表中的节点。...
2022-07-15 20:19:03
496
19
原创 Docker部署kafka Zookeeper
部署kafka,zookeeperkafka-topics.sh--create--zookeeper服务器私网2181--replication-factor1--partitions1--topicmykafka。KAFKA_ZOOKEEPER_CONNECT=“服务器的私网ip2181”-e。KAFKA_ADVERTISED_HOST_NAME=“服务器公网ip”-v。部署Zookeeper。进入kafka容器内部。进⼊kafka默认⽬录。...
2022-07-14 20:30:57
883
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人