在数据库系统中,索引是优化查询性能、保障服务稳定性的关键技术组件.尤其在数据量激增的现代应用场景下,缺乏有效的索引设计往往会导致查询性能急剧下降,进而影响整个应用的响应能力.深入理解索引的工作原理与实现机制,是每一位后端工程师和数据库管理员必须具备的核心技能.
循环依赖问题
发表于
分类于
微服务
在Spring中,如果一个Bean尝试将自身引用注入到自身中或是多个微服务之间存在循环的引用,Spring会抛出BeanCurrentlyInCreationException异常,这被称为循环依赖问题.
缓存穿透、缓存击穿和缓存雪崩问题
在分布式架构中,缓存是平衡性能与数据库压力的关键组件.然而,简单地引入 Redis 并不等于高枕无忧,错误的缓存策略反而会成为系统中最致命的单点.
缓存穿透、缓存击穿与缓存雪崩正是三种典型且破坏性极强的缓存失效场景,它们极易在高并发下导致数据库被打穿、服务雪崩式宕机.
本文将从技术原理层面深入剖析这三种问题的本质区别,并提供从代码到架构的多层级解决方案,包括但不限于:
- 布隆过滤器(Bloom Filter)应对穿透
- 互斥锁(Mutex Lock)与逻辑过期化解击穿
- 密钥过期时间分散化与熔断降级策略预防雪崩
帮助你构建一个兼具高性能和高可用的健壮缓存系统.
Canal+MQ同步流程
在使用ES索引搜索时,我们需要同步ES和mysql数据库中的数据,常见的索引数据同步方案有两种:同步方式和异步方式。
Java网关配置
发表于
分类于
微服务
前端请求网关根据请求路径路由到微服务,网关从nacos获取微服务实例地址将请求转发到具体的微服务实例上.
现在要根据需求使用Java在网关实现路由转发和用户身份认证的功能:
- 根据请求Url路由到具体的微服务
- 校验用户的token,取出token中的用户信息
- 从nacos中取出服务实例进行负载均衡
所以使用java开发的网关,如 - Spring Cloud Gateway:基于Spring的WebFlux技术,完全支持响应式编程,吞吐能力更强
- NetFlix Zuul:早期实现,已淘汰

OpenFeign配置
发表于
分类于
微服务
OpenFeign技术可以让远程调用像本地方法调用一样简单,OpenFeign是一个声明式的HTTP客户端框架,它简化了编写 REST 客户端的过程
Nacos配置
发表于
分类于
微服务
Nacos是国内产品,中文文档比较丰富,而且同时具备配置管理、服务注册与发现功能
RabbitMQ之面试题
RabbitMQ是基于Erlang语言开发的开源消息通信中间件消息队列MQ的一种,支持AMQP协议(SpringBoot支持AMQP协议).
JavaWeb的Bug之SpringBoot
发表于
分类于
Bug
本文记录SpringBoot的一些Bug和部分解决措施.
常见大模型服务平台及其介绍
发表于
分类于
AI应用
常见的大模型服务平台有很多,以下是对一些主流平台的介绍,包括比较流行的百度千帆平台,OpenAI的ChatGPT,以及阿里云通义千问等.