如何做好SQL质量监控
在 SLS 中,用户可以通过 SQL 对日志数据(结构化、半结构化、无结构化)进行查询和分析。随着用户对 SQL 使用程度的不断加深,越来越多的用户希望了解自己使用 SQL 分析时的服务反馈(如请求量、成功率、数据量等等),以便对数据和分析行为进行精细管理或优化治理。 “现在我这个 Project 的 SQL 并发是多少?” “奇怪,我 SQL 请求并不多,为什么会有这么多 SQL 请求,是哪个业务线(Logstore)用的?” “我想了解我在 SLS 中使用 SQL 分析的整体情况,请问有什么监控数据或日志可以查看? 这些都是来自 SLS 真实用户的声音,可以看出用户对于自身 SQL 分析行
MongoDB实战演练
本项目基于SpringDataMongoDB实现头条文章评论功能,涵盖增删改查、按文章ID查询、评论点赞等需求。通过MongoTemplate优化操作效率,结合索引提升查询性能,构建高效稳定的评论微服务模块。
SpringBoot@Configuration使用总结
被@Configuration标注的类视为Spring配置类,等同于XML配置文件。通过@Bean注册Bean,结合AnnotationConfigApplicationContext可启动IOC容器,加载并管理Bean实例,包括配置类自身。
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因未灰度发布的新配置引发空指针异常,导致全球服务中断7小时。故障暴露了缺乏配置灰度与错误处理的严重风险。本文结合Nacos等配置中心的IP/标签灰度方案,探讨如何通过渐进式发布保障系统稳定性,避免类似重大事故。
MyBatis常见配置
MyBatis配置优先级:方法参数 > resource/url > properties内。常用配置包括缓存、延迟加载、主键生成等。支持多环境配置,通过environments指定,默认使用development。事务管理支持JDBC和MANAGED,与Spring集成时由Spring接管。
Thread.sleep(0) 到底有什么用(读完就懂
本文深入解析 `Thread.Sleep` 的底层机制,结合操作系统调度原理,探讨其在多线程环境中的真实行为。通过“分蛋糕”类比,形象说明Windows抢占式调度的特点,澄清对 `Sleep(1000)` 和 `Sleep(0)` 的常见误解。重点指出:`Sleep(0)` 并非无意义,而是主动触发CPU重新竞争,让出执行机会,避免界面假死,具有重要实际价值。
服务保护、分布式事务
本课程聚焦微服务保护核心技能,涵盖雪崩问题、熔断降级、限流隔离等机制,学习Sentinel实现熔断、降级、限流策略配置,掌握FallbackFactory降级逻辑编写,理解CAP原理与Seata分布式事务,全面提升微服务高可用设计能力。
异步消息组件MQ基础
本课程学习MQ的应用场景及RabbitMQ入门开发,掌握同步与异步调用区别,理解工作队列、发布订阅模型及各类交换机(Fanout、Direct、Topic)特性,学会解决消息堆积、应用惰性与优先级队列,并在商城项目中实践MQ技术。
Watcher机制(二)WatchManager
本文深入分析ZooKeeper中WatchManager类的源码,重点解析其如何通过watchTable和watch2Paths两个映射管理Watcher与节点路径的关联关系,涵盖addWatch、removeWatcher、triggerWatch等核心方法的同步机制与执行流程,揭示事件监听与触发的底层原理。
Watcher机制(三)之ZooKeeper
本文深入分析ZooKeeper类的源码,涵盖其内部类、属性、构造函数及核心方法。重点解析Watcher机制中的注册流程,以及create、delete、exists等同步与异步操作的实现原理,揭示ZooKeeper客户端与服务端交互的核心逻辑。
容器化部署引擎Docker
Docker是一种开源容器化技术,通过镜像打包应用及依赖,实现跨环境一致运行。它利用容器隔离机制解决开发、测试、生产环境差异问题,相比虚拟机更轻量、启动更快。本文介绍Docker核心概念、架构、镜像与容器操作、数据卷挂载、Dockerfile自定义镜像及Compose编排微服务集群,并搭建私有镜像仓库,提升部署效率与系统可移植性。(239字)
异步消息组件MQ高级
本文围绕消息中间件(如RabbitMQ)的可靠性机制展开,涵盖生产者重试与确认、消费者确认、消息持久化、失败处理、幂等性及延迟消息等核心内容。重点讲解如何通过重试机制、Confirm/Return确认模式保障消息发送可靠;通过手动或自动ACK确保消费可靠性;并结合定时任务实现失败消息重发,最终构建高可用的消息系统。
RabbitMQ集群部署
本文介绍RabbitMQ集群部署,包括普通模式与高可用方案。首先通过Docker搭建三节点集群,配置Erlang Cookie和rabbitmq.conf实现节点通信;接着演示队列创建、数据共享及宕机测试,发现普通模式无高可用能力;进而引入镜像模式,通过策略设置实现队列多副本,支持主从切换;最后重点介绍3.8版本后推荐的仲裁队列,其具备自动选举、强一致性等优势,配置更简便,是实现高可用的首选方案。
微服务网关与配置中心
本课程学习微服务网关核心功能,包括使用Spring Cloud Gateway实现路由转发、负载均衡及全局过滤器应用。掌握通过Nacos进行服务发现与配置管理,实现统一鉴权、用户身份校验及请求头信息传递,并完成前后端联调与配置热更新等实战操作。
异步消息组件MQ基础
本课程介绍RabbitMQ在微服务中的应用,涵盖MQ的应用场景、异步调用与同步调用的区别、RabbitMQ的安装与配置、消息收发入门程序、工作队列、发布订阅模型及多种交换机(fanout、Direct、Topic)特性,同时讲解惰性队列、优先级队列、消息堆积处理及商城项目中的实际应用,帮助学员掌握消息中间件的核心技术与实践能力。
微服务服务注册与发现
本课程以黑马商城项目为案例,系统讲解单体架构与微服务架构的优缺点,深入剖析微服务、分布式及云原生架构的核心理念与技术实现。通过搭建项目环境、拆分商品与购物车服务、使用Nacos实现服务注册发现、OpenFeign远程调用等实践,掌握微服务开发全流程。
ES分布式搜索引擎高级
本课程涵盖搜索高级功能,包括使用function_score修改文档得分、深度分页方案(search_after)、地理坐标查询、Java Client实现高亮与聚合查询,并深入讲解同义词处理、自动补全及nested类型的应用,助力完善商城项目搜索功能。
ES分布式搜索引擎入门
本课程学习Elasticsearch核心知识,包括倒排索引原理、IK分词器使用、Java Client操作索引的增删改查、批量导入、搜索查询(Term、全文、布尔查询)及排序分页等技能,掌握其在海量数据搜索中的高性能优势与实际应用。
Redis集群伸缩,转移插槽失败
Redis集群出现配置不一致,提示slot 0处于导入状态。需登录对应实例,执行`cluster setslot 0 stable`命令,将异常slot状态恢复稳定,修复后方可进行 rebalance 操作。注意根据实际slot ID调整命令参数。
持久层框架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快速部署分布式应用,提升开发、测试、运维效率。
大数据与机器学习
大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。