- 博客(11)
- 收藏
- 关注
原创 分布式锁介绍及基本原理
本文介绍了分布式锁的概念及其实现方案。首先阐述了在多线程环境下共享资源访问的竞争问题,以及本地锁在分布式场景下的局限性。接着分析了分布式锁的设计要点,包括互斥性、高可用性、可重入性等特性。重点讲解了基于Redis的分布式锁实现方法,从最简单的SETNX命令入手,逐步优化为带过期时间、自动续期和可重入的高级实现方案。最后提到Redisson框架提供的Watch Dog机制解决锁续期问题,并对比了synchronized和ReentrantLock的可重入实现原理。文章为分布式系统开发提供了实用的锁解决方案指导
2025-08-22 21:31:44
751
原创 Docker 安装 MySQL:8.4.5
本文详细介绍了在Docker中安装MySQL 8.4.5的完整流程:1)拉取官方镜像;2)创建数据/配置挂载目录;3)通过docker run命令启动容器,设置端口映射、时区和root密码;4)验证字符集配置;5)通过修改my.cnf配置文件调整字符集为utf8mb4;6)测试远程连接;7)创建包含中文的测试数据表并验证数据存储。整个过程涵盖了从基础安装到实际应用测试的完整步骤,特别强调了中文环境下的字符集配置要点,确保数据库能正确处理中文数据。
2025-08-10 20:42:40
458
原创 Docker 安装 RabbitMQ:4.1.3-management
本文介绍了使用Docker安装RabbitMQ 4.1.3-management版本的具体步骤。首先从DockerHub选择带management标签的镜像并拉取,然后创建数据挂载目录。通过docker run命令启动容器,配置了用户名密码、数据持久化、端口映射等参数。最后通过访问15672端口的管理界面验证安装成功。整个过程包含镜像选择、容器创建和管理界面访问等关键步骤,为快速部署RabbitMQ服务提供了详细指导。
2025-08-09 19:07:31
541
原创 Docker 安装 Redis:7.4.5
本文详细介绍了使用Docker安装Redis 7.4.5的完整步骤:1)从Docker Hub拉取指定版本镜像;2)创建配置目录并自定义redis.conf文件(需修改绑定地址、守护进程模式等关键参数);3)通过docker run命令启动容器,设置端口映射、文件挂载等配置;4)进行连接测试验证安装是否成功。整个过程涵盖了从镜像获取、配置修改到容器启动的全流程,并提供了关键配置项的详细说明和疑难解决方案。
2025-08-09 18:58:43
487
原创 分布式消息队列:RabbitMQ (六)
摘要:本文介绍了利用RabbitMQ实现延迟消息的两种方案:死信交换机+TTL和延迟消息插件。重点讲解了死信交换机的实现原理,通过配置普通队列绑定死信交换机,利用消息过期机制实现延迟任务。文章包含完整的Java代码示例,详细展示了如何声明死信交换机、普通队列以及消息发送过程,并指出TTL机制可能存在的时效性问题。针对电商场景中订单超时未支付自动取消的需求,提供了切实可行的技术解决方案。
2025-08-09 16:24:08
933
原创 分布式消息队列:RabbitMQ (五)
RabbitMQ消息可靠性保障机制 RabbitMQ通过生产者重试机制和确认机制来确保消息可靠性。生产者重试机制在网络异常时自动重发消息,可通过配置文件开启并设置重试间隔和次数。生产者确认机制包含两种类型:Confirm确认消息是否到达Exchange,Return在消息无法路由到队列时触发回调。这两种机制需要分别配置开启,并通过RabbitTemplate设置对应的回调函数(ReturnCallback和ConfirmCallback)来处理发送失败的情况,确保消息从生产者到Broker的可靠传递。
2025-08-09 12:48:54
615
原创 分布式消息队列:RabbitMQ(四)
摘要: 本文探讨了RabbitMQ中幂等性的概念及其在分布式系统中的应用,分析了交换机、队列和绑定关系的声明策略。幂等性操作(如HTTP GET请求)多次执行结果一致,而非幂等操作(如订单支付)则会产生不同结果。建议在消费者服务中统一声明三者,利用RabbitMQ的幂等特性避免重复创建。同时强调应先启动消费者服务以确保队列就绪,防止消息丢失。文中还详细介绍了Spring AMQP中交换机与队列的API参数配置,包括持久化、自动删除等关键属性,为消息队列的高效管理提供实践指导。
2025-08-08 18:16:19
821
原创 分布式消息队列:RabbitMQ(三)
本文介绍了在SpringBoot项目中集成RabbitMQ的实践方法。首先对比了直接使用RabbitMQ官方客户端与Spring AMQP框架的优劣,推荐使用Spring AMQP以简化开发。文章详细说明了SpringBoot集成RabbitMQ的步骤,包括依赖引入、配置文件设置等关键环节。重点讲解了Work Queues工作模式,通过示例代码展示了多消费者处理消息积压的场景,并介绍了"能者多劳"的优化配置方法。最后概述了RabbitMQ的交换机机制,为后续深入学习不同消息模式奠定基础。
2025-08-08 11:32:01
949
原创 分布式消息队列:RabbitMQ(二)
本文介绍了通过RabbitMQ管理界面实现消息收发的操作流程。首先展示如何通过默认交换机发送消息,并解释消息丢失的原因是由于缺少绑定队列。随后详细说明了创建队列、绑定交换机与队列的步骤,演示了消息成功传递到队列的过程。文章还介绍了交换机与队列详情页面的功能,并着重讲解了RabbitMQ的虚拟主机隔离特性,通过创建测试用户和虚拟主机,展示了不同项目间的数据隔离机制。最后通过切换虚拟主机的操作,验证了不同虚拟主机间的数据隔离效果。全文通过图文结合的方式,系统性介绍了RabbitMQ管理界面的核心功能和使用方法。
2025-08-07 15:21:03
1735
原创 分布式消息队列:RabbitMQ(一)
本文介绍了RabbitMQ的基本概念和安装方法。RabbitMQ作为一款支持多种协议(AMQP/STOMP/MQTT)的分布式消息队列,具有生态优秀、易于学习的特点,是入门消息队列的首选。文章详细讲解了RabbitMQ的核心组件和工作流程,包括生产者、消费者、交换机和队列等概念。针对不同操作系统,提供了Windows和Docker两种安装方式:Windows下需先安装Erlang环境再安装RabbitMQ,最后启用管理插件;Docker安装则推荐使用带管理界面的镜像。两种方式都包含详细的操作步骤和验证方法。
2025-08-07 12:46:03
931
原创 分布式消息队列:前置知识
中间件与分布式消息队列概述 中间件 中间件是位于操作系统与应用软件之间的独立软件或服务程序,用于协调分布式系统、处理网络请求等。它帮助开发者专注于业务逻辑,简化底层通信细节。常见中间件包括Redis等,可作为系统间的桥梁,实现数据共享与异步通信。 分布式消息队列 消息队列是存储消息的FIFO队列,由生产者发送消息、消费者接收消息。分布式消息队列具有以下优势: 数据持久化 异步处理 削峰填谷 应用解耦 发布订阅 应用场景与局限适用于耗时任务、高并发、分布式系统协作等场景,但需考虑学习成本和系统复杂性。
2025-08-06 12:57:52
677
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅