自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 # 秒杀抢购##

使用缓存技术(如Redis)来存储热点数据,例如商品信息和库存数量。这样可以减轻数据库的压力,提高读取数据的速度。当用户成功秒杀后,将抢购信息发送到队列,然后由消费者多线程异步处理订单,减轻系统的实时压力,使用Redis、RabbitMQ等技术都可以实现队列。超卖是最终下单购买数量大于库存数量,比如:库存100个用户最终购买了101个,多出这一个就是超卖了,在秒杀抢购业务中这也是需要解决的问题,可以使用分布式锁、Redis等技术都可以防止超卖。

2025-04-08 18:22:55 1566

原创 微服务五大组件

提高配置管理效率,支持环境隔离与版本控制。

2025-03-23 20:34:24 366

原创 如何保证MQ幂等性?或 如何防止消息重复消费?

业务逻辑设计应基于状态转移(如订单状态从待支付->已支付)避免重复操作状态。在消费者处理消息前,通过校验层如数据库,缓存判断消息是否被处理。更新数据时校验版本号,仅当版本号匹配时才执行操作,并递增版本号。消费者处理消息前,先查询该表:存在则跳过,不存在则插入。将消息ID或业务唯一建如订单号设为数据困唯一索引。每条消息需携带全局唯一ID用于追踪消息生命周期。消费者处理消息时,先尝试插入记录,若冲突则跳过。使用redis缓存替代数据库,提升查询效率。创建独立表,存储消息ID或过期时间。简单直接,天然放重复。

2025-03-22 14:37:57 400

原创 MQ消息可靠性

生产者发送消息到达MQ的Exchange后未找到合适的Queue。生产者发送消息到达MQ后未找到Exchange。消息到达MQ保存到队列,尚未注册就宕机。消息到达MQ后,处理消息进程发生异常。生产者发送消息时链接MQ失败。消息接收后处理过程中抛出异常。确保MQ不会将消息弄丢。确保消费消息的可靠性。

2025-03-22 14:09:14 236

原创 SeataAT模式基本流程图

需要确保流程图中的每个步骤都清晰,并且包含必要的判断节点,比如是否所有分支事务都成功。此外,可能需要考虑异常情况下的处理,比如网络问题导致TC无法收到某个分支的报告,这时候可能需要超时机制或重试。可能需要检查是否有遗漏的步骤,比如undo_log的生成和清理是否在正确的阶段执行,以及补偿操作的细节是否准确。另外,流程图中的角色(TM、RM、TC)需要明确标出,以便用户理解各组件的交互。7.如果回滚,TC通知所有RM执行回滚,使用undo_log恢复数据,清理日志。2.TC生成全局事务ID,返回给TM。

2025-03-17 20:13:00 135

原创 微服务注册与发现

新增 pom.xml ---> 变成Maven项目 ---> 复制 hm-common 模块到项目根目录下 ---> 父工程聚合。将单体系统的功能模块拆分为独立部署的子模块(服务),通过网络通信协作完成业务。登录 --> 搜索商品 --> 加入到购物车 --> 结算下单 --> 支付。Nacos + OpenFeign实现服务发现、远程调用、负载均衡。基于云计算特性(弹性、Serverless、按需付费),构建。注入Feign客户端,调用方法实现远程调用。缺点:扩展困难,维护成本高。1、单体项目【电商】

2025-03-16 17:12:16 1422

原创 MYSQL索引

聚簇索引决定了数据在物理磁盘上的存储顺序。数据行和索引一起存储在同一个B树(或B+树)结构的叶子节点中。

2025-03-11 20:32:09 753

原创 数据库操作

索引是对数据库表中一个或多个列的值进行排序的结构,它相当于所有数据目录项的一个集合,能加快数据库的查询速度。索引的主要目的是加快检索表中数据,协助信息搜索者尽快找到符合限制条件的记录ID。

2025-03-09 20:35:32 1345

原创 关于集成 Knife4j 增强 Swagger 文档时遇到的常见问题及解决方案

当在 Spring Boot 应用程序中集成了 Spring Security 后,可能会发现原本可以正常显示的 Swagger UI 页面变得不可访问。这是因为默认情况下,Spring Security 对所有的请求都进行了保护。对于具体案例而言,若是在迁移到 Spring Boot 3 上遇到了困难,则应该参照最新发布的资料来进行适配工作。这段代码实现了全局范围内的跨域资源分享支持,确保来自不同原点的应用能够顺利调用服务并读取 API 描述文件。

2025-02-21 20:49:02 323

原创 若依使用教程

type_name` VARCHAR(255) NOT NULL COMMENT '类型名称',`type_id` INT AUTO_INCREMENT COMMENT '自增ID',`good_id` INT AUTO_INCREMENT COMMENT '自增ID',4,主表的关联信息关联子表名good商品表,关联外键就是我们sql语句里的外键type_id。`image_url` VARCHAR(255) COMMENT '图片链接',`type_id` INT COMMENT '类型ID',

2025-02-20 16:45:06 784

原创 以下是MybatisPlus在写代码时可能出现的一些常见错误、截图示例及解决方法:

解决方法:检查项目的依赖管理文件(如Maven的pom.xml或Gradle的build.gradle),排除冲突的依赖,确保MybatisPlus及其相关依赖的版本兼容。- 解决方法:检查分页插件的配置是否正确,确保在配置类中正确注册了分页插件,并且在使用分页的方法中正确调用了分页相关的方法。- 解决方法:检查实体类中主键字段的 @TableId 注解的策略配置是否正确,根据需求选择合适的主键生成策略。- 错误描述:使用分页功能时,出现分页数据不正确或不分页的情况。错误四:分页插件配置错误。

2025-02-19 00:19:41 206

空空如也

空空如也

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

TA关注的人

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