持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强工具,简化单表CRUD操作,通过继承BaseMapper即可实现增删改查。支持条件构造器(如QueryWrapper)、分页插件、代码生成器等功能,提升开发效率,降低SQL冗余,广泛应用于企业级项目中。
虚拟机安装(CentOS7)
本文介绍了搭建CentOS 7虚拟机的准备工作及安装步骤,包括CentOS 7镜像和VMware Workstation的获取方式(提供官网及百度云链接),并指导使用VMware创建虚拟机,推荐参考教程完成安装。安装后默认登录用户为root,密码由用户自设。
@RefreshScope热更新原理
本文深入解析Spring Cloud中@RefreshScope注解实现配置热更新的原理。通过分析其组合注解特性,重点探讨@Scope("refresh")如何借助动态代理与缓存机制,在配置变更时触发Bean重新创建,从而实现配置的实时刷新。
持久化FileTxnLog
本文深入分析Zookeeper持久化机制的源码实现,重点解析TxnLog与FileTxnLog类。涵盖事务日志结构、append追加、commit提交、truncate截断等核心操作,详解日志格式、zxid管理及文件处理流程,揭示数据持久化的底层原理。
微服务原理篇(XXLJOB-幂等-MySQL)
本文介绍了XXL-JOB任务调度的优势、组成结构及热点商品缓存更新任务的实现,涵盖幂等性概念与解决方案,并深入解析了MySQL存储引擎特性、索引失效场景、回表与覆盖索引原理以及SQL调优和分库分表策略。
持久化FileTxnSnapLog
本文分析ZooKeeper中FileTxnSnapLog源码,其封装TxnLog与SnapShot,实现事务日志和快照的持久化管理。通过restore和save方法完成数据恢复与快照存储,结合DataTree维护内存数据树,体现典型的组合设计思想。
微服务网关与配置中心 学习目标
本课程学习Spring Cloud Gateway网关的实现,掌握路由配置、负载均衡、内置过滤器(如StripPrefix)及全局过滤器的使用。重点包括自定义身份校验过滤器、JWT鉴权流程、微服务间用户信息传递,并结合Nacos实现服务发现与统一配置管理,完成前后端联调与权限控制。
微服务原理篇(Canal-Redis)
本文介绍了ES索引同步的常见方案,重点讲解Canal+MQ数据同步机制。通过解析MySQL的binlog日志,Canal模拟slave伪装接入主库,实现增量数据捕获,并结合RabbitMQ保证消息顺序性地同步至Elasticsearch。同时探讨了缓存一致性问题,提出使用分布式锁(如Redis)控制并发写操作,避免双写不一致。还涵盖Redis持久化、集群模式、过期淘汰策略及缓存三剑客(穿透、雪崩、击穿)的解决方案,系统梳理了高并发场景下的数据同步与缓存保障技术体系。
服务保护、分布式事务
本课程讲解微服务保护核心知识,涵盖雪崩问题、熔断降级、限流隔离等方案,学习Sentinel实现熔断限流,掌握FallbackFactory降级处理及Seata分布式事务原理与应用。
异步消息组件MQ基础
本课程学习RabbitMQ在微服务中的应用,涵盖MQ的应用场景、异步与同步调用区别、RabbitMQ的安装与配置、消息收发入门、工作队列模型及交换机类型(Fanout、Direct、Topic)等核心知识,并结合SpringAMQP实现消息通信与项目实战。
Watcher机制(一)
本文深入分析Zookeeper的Watcher机制,涵盖核心类与源码实现。重点解析Watcher、Event、WatchedEvent等接口与类,梳理其内部结构及事件通知流程,帮助理解Zookeeper的数据变更监听原理。
ES分布式搜索引擎入门
本课程介绍Elasticsearch的核心概念与应用,涵盖倒排索引原理、IK分词器使用、Java Client操作索引及查询等技能,帮助学员掌握高效搜索功能开发,适用于电商等高并发场景。
微服务服务注册与发现
本课程以黑马商城项目为案例,深入讲解单体架构与微服务架构的优缺点,学习分布式、云原生架构设计,掌握Spring Cloud Alibaba微服务开发,涵盖服务拆分、Nacos注册发现、OpenFeign远程调用等核心技术。
分布式缓存Redis(高级)
本节深入讲解Redis持久化机制(RDB与AOF)、主从同步、哨兵集群及分片集群搭建,涵盖数据安全、高可用、读写分离与扩容方案,助力实现Redis在生产环境中的稳定落地。
Seata的部署和集成
本文介绍Seata分布式事务框架的部署与微服务集成。首先下载并解压Seata Server,修改配置文件application.yml,并在Nacos中配置seataServer.properties及数据库信息。创建seata数据库并运行SQL脚本初始化事务表。启动TC服务后,注册至Nacos。各微服务引入Seata依赖,配置application.yml连接TC。为实现高可用,搭建多节点TC集群,通过Nacos统一管理事务组映射,实现异地容灾与动态切换。微服务从Nacos读取client.properties,灵活绑定TC集群,提升系统稳定性与可维护性。(238字)
SpringCloud概述
Spring Cloud是Spring推出的微服务一站式解决方案,弥补了各技术分散、无统一架构的短板。它具备约定优于配置、组件丰富、开箱即用等特点,支持云原生应用开发。版本以地铁站命名,避免与子项目冲突。随着Netflix组件停更,Spring Cloud Alibaba凭借Nacos、Sentinel、Seata等成熟组件成为主流选择,经阿里多年验证,功能完备、稳定可靠,是当前微服务落地的优选技术栈。
容器引擎Docker
本节介绍Docker技术,解决微服务部署中环境不一致、依赖冲突等问题。通过镜像打包应用及依赖,实现跨环境无缝迁移;利用容器隔离机制保障服务独立运行;结合Docker Compose快速部署分布式应用,提升开发、测试、运维效率。
什么是RESTful
RESTful是一种设计规范,强调将资源抽象为URI,通过HTTP动词(GET/POST/PUT/DELETE)对其进行操作,实现统一、标准的接口风格,提升可读性与可维护性。
Gateway服务网关
网关是微服务的统一入口,实现请求路由、权限控制与限流。基于Spring Cloud Gateway可快速搭建高性能网关,支持断言与过滤器灵活配置,并解决跨域问题,提升系统安全性和可维护性。
消息中间件RabbitMQ(高级)
本节深入探讨RabbitMQ在生产环境中的高可用与可靠性问题,涵盖消息确认、持久化、消费者重试、死信队列、延迟消息、惰性队列及集群搭建。通过实战案例实现消息不丢失、延迟处理与高并发支撑,全面提升系统稳定性与可扩展性。(239字)
SpringCloud工程部署启动
本教程介绍SpringCloud微服务工程搭建与部署,涵盖完整项目导入或从零创建父/子模块,配置Maven依赖、数据库连接及业务代码。通过RestTemplate实现order-service调用user-service获取用户信息,演示微服务间远程通信原理,帮助理解服务拆分与调用关系,掌握基础分布式架构实践。
大厂如何解决订单幂等问题
本文介绍分布式系统中接口幂等性的实现方案。通过订单创建与支付场景,阐述如何利用唯一标识、数据库主键约束及Redis防止重复处理;针对ABA问题,提出基于版本号的乐观锁机制,确保数据一致性。方案可通用化应用于各类数据库操作服务。
Ribbon负载均衡
本节深入讲解Ribbon实现客户端负载均衡的原理,解析@LoadBalanced注解的作用机制,剖析其如何通过RestTemplate拦截请求、选择服务实例并重写URL。内容涵盖负载均衡分类、常见算法、Ribbon自定义策略配置(代码与配置文件方式)、饥饿加载优化,并对比后续将学的Nacos等技术差异,帮助读者全面理解微服务中负载均衡的实现与演进。(238字)
Eureka服务注册与发现
本章介绍Eureka注册中心的搭建与使用,完成user-service和order-service服务注册,并实现多实例部署。虽Eureka已被SpringCloud逐步淘汰,但其核心思想仍具参考价值,后续将用Nacos替代深入探讨。
@RefreshScope热更新原理
@RefreshScope通过组合注解实现配置热更新,核心在于@Scope("refresh")与代理机制。标注该注解的Bean被缓存,配置变更时清空缓存并触发Spring重新创建实例,结合Environment刷新,实现@Value属性动态更新,本质是缓存失效+Bean重建机制。
@Inherited
@Inherited用于注解上,表示该注解可被子类继承。当加在父类时,子类会自动继承该注解;但接口间继承或类实现接口时,均不继承注解,无论是否使用@Inherited。
SpringBoot使用汇总
本课程系统讲解Spring Boot核心知识,涵盖环境搭建、JSON数据处理、日志记录、属性配置、MVC支持、异常处理等,结合实战案例与源码解析,助力开发者快速掌握微服务开发技能。
RabbitMQ部署指南
本文介绍RabbitMQ在CentOS7下基于Docker的单机与集群部署方案,涵盖镜像安装、DelayExchange插件配置、普通模式与镜像模式集群搭建,并详解仲裁队列使用及集群扩容方法,助力实现高可用消息队列服务。
2. 整合切面,参数拦截+过滤
基于Spring AOP实现的请求拦截切面,用于记录Web层入参信息。自动捕获请求来源、URL、方式、响应方法及参数,并记录执行耗时,便于调试与日志追踪,支持后续扩展至日志存储或ELK分析。
大数据与机器学习
大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。