- 博客(12)
- 收藏
- 关注
原创 ES和MySQL数据一致性同步
本文介绍了使用Docker搭建MySQL、Zookeeper、Redis、RabbitMQ、Elasticsearch和Kibana的开发环境,并实现用户数据CRUD操作时同步到Elasticsearch的解决方案。通过在用户表操作时插入本地消息表,定时任务将待发送消息推送到RabbitMQ,由消费者监听同步ES数据。系统实现了消息状态管理、失败重试机制,并支持临时队列配置。文章还提出了优化建议,如完善消息校验、记录失败原因等,并提供了Java实体类代码示例。
2025-09-07 16:33:05
891
原创 基于MQ本地消息表实现分布式事务最终一致性
摘要:本文实现了一个基于本地消息表的分布式事务最终一致性方案,通过RabbitMQ进行跨服务消息传递。生产者(库存服务)在扣减库存时同步插入本地消息表,定时任务异步发送消息到订单服务;消费者(订单服务)处理消息并创建订单,同时发送ACK回调。系统包含死信队列处理失败消息,定时任务扫描重试机制,并详细设计了各类异常情况的处理流程。代码实现包含完整的Maven多模块结构、RabbitMQ配置、实体类、服务层、定时任务和数据库表设计,确保在分布式环境下实现事务一致性。
2025-08-04 14:43:35
1009
原创 gateway集成sentinel和nacos实现限流和pull持久化
本文介绍了如何在Spring Cloud Gateway中集成Sentinel,并通过Nacos实现配置中心和注册中心的功能。首先,需要在项目中引入相关依赖接着,配置网关的YAML文件,指定Nacos的地址、命名空间、组等信息,并启用服务发现路由。Sentinel的配置包括取消控制台懒加载、设置控制台地址、配置流控规则等。最后,通过Nacos持久化流控规则,确保网关的路由转发对象在Nacos中注册,并开启网关的负载均衡。启动网关后,可以在Sentinel控制台中查看请求信息,并进行流控配置。
2025-05-23 17:18:37
413
原创 Nacos服务注册发现配置
摘要:本文介绍了如何启动Nacos并进行相关配置。首先,从官网下载Nacos并解压,进入bin目录编辑startup.cmd文件,将集群启动模式改为单机模式(setMODE="standalone")。若需修改启动端口或使用MySQL持久化数据,可编辑config目录下的application.properties文件,配置数据库连接信息。
2025-05-23 16:54:49
599
原创 抛弃bootstrap.ymal使用application.yaml配置nacos
Spring官方从Spring Boot 2.4.0(2020年11月)开始逐步弃用并移除了对bootstrap配置的支持。在Spring Boot 2.4.x和Spring Cloud 2020.0.x(Ilford)中,虽然引入了新的配置加载机制,但仍可通过添加spring-cloud-starter-bootstrap依赖来启用传统方式。
2025-05-23 16:23:52
463
原创 MybatisPlus配置
在Spring Boot项目中集成MyBatis-Plus和Druid连接池时,需添加相关依赖,包括mybatis-plus-boot-starter、druid和mysql-connector-j。配置文件中需设置数据源信息,如数据库URL、驱动类名、用户名和密码,并指定MyBatis-Plus的Mapper文件位置及是否开启自动驼峰命名映射。Druid连接池的配置包括初始化连接数、最小/最大连接数、最大等待时间等,以及是否开启SQL监控和防火墙功能。
2025-05-16 15:46:04
180
原创 Nacos的YAML配置项
本文介绍了Spring Cloud Alibaba Nacos的配置细节,包括服务发现和配置中心的相关设置。服务发现部分涉及Nacos服务器地址、命名空间、服务分组、集群名称、权重、IP地址、端口、心跳间隔等配置。配置中心部分则包括Nacos配置中心地址、命名空间、配置分组、配置格式、超时时间、自动刷新、认证信息等。此外,还提到了共享配置、扩展配置、本地缓存配置、通用配置、客户端行为配置、日志配置等内容。最后,文章指出Spring Cloud新版本中负载均衡器由Ribbon替换为Spring自研的Loadb
2025-05-16 15:42:15
557
原创 在Docker安装RabbitMQ+写一个带重试和带间隔时间还有死信的队列demo
说明:一个生产者,一个 topic 类型的交换机,多个队列,交换机与队列之间通过 routing-key 进行关联绑定,多个消费者。功能:一个生产者,一个 direct 类型的交换机,多个队列,交换机与队列之间通过 routing-key 进行关联绑定,多个消费者。一个生产者发送的消息会被多个消费者获取。生产者(Producer) → 默认交换机(Default Exchange) → 队列(Queue) → 多个消费者(Consumers)竞争消费。1、一个生产者,一个消费者,一个队列,采用默认交换机。
2025-05-15 17:30:10
1696
原创 docker搭建seata,集成nacos+mysql+客户端TM连接seataTC
另外还有一个undo_log表,这是TM端的表,那个客户端要用就给哪个客户端加这个表,是在对应的数据库加,下面就是注册,相当于我把seataTC端注册到nacos的这个地方,你的客户端TM要去这个地方找。组,所以就去这个组找,namespace没有配置默认就是nacos的public,也就是默认。2、先去配置好/opt/seata/config下的application.yml。如果实在不知道自己的seata叫什么集群名字,就去nacos看,组的配置所以我的seataTC端就要配置,去这里找,这里的。
2025-05-15 14:49:46
1200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅