分布式 ID 生成系统 Leaf 的设计思路,源码解读
分布式 ID 生成系统 Leaf 的设计思路,源码解读 什么是分布式ID? ID的特点就是唯一,而分布式ID就是指分布式系统下的ID,他是全局唯一的。 为啥需要分布式ID 这就和唯一息息相关了。比如我们使用MySQL存储数据,一开始数据量不大,但是业务经过一定时间的发展,单表数据每日剧增,最终突破1
Mysql和Redis双写不一致问题怎么解决?
Mysql和Redis双写不一致问题怎么解决? 在后端面试中,只要简历上写了 Redis,这道题是 100% 必问的: “怎么保证缓存和数据库的数据一致性?” 很多同学上来就背八股文:“延时双删、加分布式锁…” 但在面试官眼里,这道题考的不是死记硬背,而是你有没有处理过真实的线上事故。 因为在生产环
初始RabbitMQ
初始RabbitMQ 基础篇 同步调用 同步调用是一种线性执行模式。当你调用一个函数后,程序会暂停在当前位置,直到这个函数执行完毕并返回结果后,才会继续执行下一行代码。这就像你在餐厅点餐后,站在柜台前一直等到厨师做好餐品拿到手后才离开. 缺点: 拓展性差: 拓展服务需要更改通知代码 性能下降: 串行
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版) #!/bin/bash
# ================================================
# Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
# ========================
Spring Boot + JWT实现登录认证,密码加密及Token校验全过程
Spring Boot + JWT实现登录认证,密码加密及Token校验全过程 项目简介 本项目是一个基于Spring Boot + JWT的前后端分离认证系统,使用拦截器而非过滤器进行JWT验证。项目包含用户注册、登录、JWT生成、Token验证、权限控制等完整功能。 JWT认证原理 通俗地说,J
Spring MVC 参数映射学习笔记
Spring MVC 参数映射学习笔记 在 Spring MVC 中,控制器(Controller)负责处理用户的请求并返回响应。一个核心任务就是接收和解析请求中的参数。Spring MVC 提供了多种灵活的方式来将请求参数绑定到控制器方法的参数上,这个过程称为参数映射。 1. 通过 HttpSer
Spring Boot拦截器(Interceptor)详解
Spring Boot拦截器(Interceptor)详解 拦截器(Interceptor)同 Filter 过滤器一样,它俩都是面向切面编程——AOP 的具体实现(AOP切面编程只是一种编程思想而已)。你可以使用 Interceptor 来执行某些任务,例如在 Controller 处理请求之前编
Spring MVC 执行流程
Spring MVC 执行流程 本文主要讲解 SpringMVC 执行过程,并针对相关源码进行解析。 首先,让我们从 Spring MVC 的四大组件:前端控制器(DispatcherServlet)、处理器映射器(HandlerMapping)、处理器适配器(HandlerAdapter)以及视图
聊聊@Transactional注解和事务的使用
聊聊@Transactional注解和事务的使用 @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,不然你会发现@Transactional总是莫名其妙的就
浅析Spring中AOP的实现原理——动态代理
浅析Spring中AOP的实现原理——动态代理 一、前言 今天上课的时候,我想尝试一下在Spring里面的大名顶顶的CGLIB代理方式,但是当时并没有成功,发现需要加配置才行,于是,我打算在这篇博客就来简单地聊一聊Spring的AOP是如何实现的,并通过一个简单的测试用例来验证一下。废话不多说,直接