后端

SpringCloud 秒杀系统生产级落地:Sentinel+Redis 联合优化,从限流防刷到库存闭环,彻底解决超卖 / 宕机 / 恶意刷

        网上 90% 的秒杀教程都是 demo 级演示,要么只写个 Redis 扣库存的几行代码,要么只讲 Sentinel 限流的基础用法,根本无法落地生产。秒杀系统从来不是单一技术的堆砌,而是全链路的流量管控、安全防护、数据一致性保障的综合工程。        这篇博文,我会把多年大促实战沉淀的秒杀系统优化方案全部分

02-架构师的视图和视角

1. 架构师的视图 image.png 1.1 上下文视图 1.1.1 概念 上下文视图总结我们所设计的架构背后究竟是怎么样的一个系统,包括系统本身、外部实体和相关接口。 1.1.2 示例 image.png 1.2 功能视图 1.2.1概述 描述系统运行时功能元素及其职责、接口和交互关系。 功能视图和上下文视图有一定的重合之处,但功能视图脱离环境,描述的是系统组件定义及

20. 有效的括号

20. 有效的括号 题目链接: 难度:简单 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()"

观察者设计模式

前言 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 观察者模式是一种对象行为型模式,其主要优点如下: - 降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。 - 目标与观察者之间建立了一套触发机制。 它的主

Java锁相关概念的简单理解

Java中锁的概念 自旋锁:是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环 乐观锁:假定没有冲突,在修改数据时如果发现数据和之前获取的不一致,则读最新数据,修改后重试修改 悲观锁:假定会发生并发冲突,同步所有对数据的相关操作,从读数据就开始上锁 独享锁(写):给资源加上写锁,线程可以修改资源,其他线程不能

XXL-JOB快速入门(什么是XXL-JOB、部署XXL-JOB、在SpringBoot项目中接入XXL-JOB、XXL-JOB中的核心概念、集群环境下任务的路由策略)

文章目录 1. 分布式任务调度 2. @Scheduled注解的局限 3. 什么是XXL-JOB 4. 通过源码部署调度中心 4.1 下载源码 4.2 源码说明 4.3 运行数据库脚本 4.4 补充:xxl_job数据库中八张表的作用 4.5 调度中心配置 4.5.1 数据库相关配置 4.5.2 日志相关配置 4.6 启动调度中心 4.7 访问

MySQL 安装配置(完整教程)

文章目录 一、MySQL 简介 二、下载 MySQL 三、安装 MySQL 四、配置环境变量 五、配置 MySQL 5.1 初始化 MySQL 5.2 搭建 MySQL 环境 六、修改 MySQL 密码 七、卸载 MySQL 八、结语 一、MySQL 简介MySQL 是一款广泛使用的开源关系型数据库管理系统(RDBMS),由

1408. 数组中的字符串匹配(难度:简单)

题目链接: 题目描述: 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。 如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i