自定义 Jackson 配置:支持 LocalDateTime 日期 API
自定义 Jackson 配置:支持 LocalDateTime 日期 API 本小节中,我们将为认证服务自定义 Jackson 配置,以支持 Java 8 中新的日期 API 。 1. 不支持 LocalDateTime 问题演示 注意这里返回的时间类型并不是我们在前面设置的时间日期格式,其次如果我
添加 framework 平台基础设施模块
添加 framework 平台基础设施模块 本小节中,我们继续完善后端项目骨架 —— 抽取一个 framework 平台基础设施模块。如下图所示: 为什么要抽取一个 framework 基础设施模块? 在微服务架构中,如果每个服务都像一个独立的“孤岛”,虽然实现了业务解耦,但会导致大量重复的底层代码
Spring Boot 4.x 整合 MyBatis-Plus
Spring Boot 4.x 整合 MyBatis-Plus 本小节中,我们来为后端服务整合数据库持久层框架 —— MyBatis-Plus ,实现对数据库的增删改查。 1. 什么是 MyBatis ? MyBatis 是一个用 Java 编写的持久层框架,它简化了数据库交互的过程,将 SQL 语
搭建微服务项目骨架:通过 Maven 多模块方式
搭建微服务项目骨架:通过 Maven 多模块方式 相关概念 在搭建项目之前,先了解一下相关概念。 什么是单体架构 单体架构是一种传统的软件架构模式,通常将整个应用作为一个单一的、独立部署的单元来开发、构建和部署。在单体架构中,所有的功能模块和业务逻辑都打包在同一个应用程序中,比如 weblog 项目
Spring Cloud Alibaba 小憨书(仿小红书)微服务项目实战:专栏介绍
Spring Cloud Alibaba 小憨书(仿小红书)微服务项目实战:专栏介绍 项目介绍 先来看一下小红书官网的对自己的介绍: 小红书是一个年轻生活方式分享平台,由毛文超和瞿芳创立于2013年。 截止2019年1月,小红书用户数超过2亿,其中90后和95后是最活跃的用户群体。 在小红书,用户通
Kafka常见面试题
Kafka常见面试题 如何保证Kafka消息不丢失 和RabbitMQ相似,在Kafka里面如果有防止消息不丢失,还是从以下3个方面入手解决。 防止生产者发送消息到Broker导致的消息丢失 设置异步发送 // 同步发送
RecordMetadata recordMetadata = kafkaPr
RabbitMQ常见面试题
RabbitMQ常见面试题 RabbitMQ如何保证消息不丢失 RabbitMQ消息丢失的三种情况 消息丢失的三种情况: 消息未到达交换机 消息到达交换机但是未到达队列,或到达队列但是未莱得及消费 消费者未接收到消息 解决以上问题,可以从以下三个方面解决 生产者确认机制 RabbitMQ提供了pub
Spring框架常见面试题
Spring框架常见面试题 Spring框架中的单例bean是线程安全的吗? 答案显然是否,但是为啥我们平时使用的是并没刻意去注意线程安全问题呢?其实最主要的原因是在于我们平时使用的时候大多注入的是无状态的Bean对象,无状态的Bean对象天然就是线程安全的。 无状态和有状态 简单来说:无状态 Be
MySQL常见面试题
MySQL常见面试题 :泡泡_滑稽::泡泡_啊: 如何定位慢查询 解决方案 使用成熟的开源工具: 调试工具:Arthas 运维工具:Prometheus 、Skywalking MySQL自带的慢日志(调试阶段开启,生产阶段关闭) 慢查询日志记录了所有执行时间超过指定参数(long_query_ti
Redis面试常见题
Redis面试常见题 缓存穿透 定义:查询一个不存在的数据,DB查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库(如果有人恶意攻击,会击垮数据库)。 解决办法: 缓存空数据,查询返回的数据为空,仍然把这个空结果进行缓存 优点:实现简单。 缺点:消耗内存,可能发生数据不一致的问题 使用布隆过