FreeMQTT Plus: 一个新型 MQTT Broker 集群的实现
FreeMQTT Plus 是一款基于 MQTT 协议的高性能消息中间件,采用分布式架构解决单点瓶颈问题。其核心由 Nginx 负载均衡器、黑(A)节点(MQTT Broker)、白(B)节点(消息路由)和日志(L)节点组成。通过无主从设计,支持高可用性、负载均衡与灵活扩展。针对会话同步、消息路由等挑战,FreeMQTT Plus 利用 MQTT5 特性定义元命令,实现节点间高效通信,无需依赖第三方组件。适用于物联网海量设备接入与高并发场景,为未来边缘计算和多级集群部署提供坚实基础。
JVM实战—13.OOM的生产案例
本文详细探讨了多种线上系统中引发OOM(内存溢出)问题的原因及排查方法。内容涵盖:1)每秒仅上百请求的系统因RPC超时时间设置过长导致QPS激增而OOM;2)Jetty服务器NIO机制因堆外内存管理不当引发内存溢出;3)微服务架构下RPC调用因类定义不一致导致超大byte[]数组占用内存;4)SQL语句缺少WHERE条件查询大量数据引发OOM;5)日志分析系统因堆内存不足与递归操作耗尽内存;6)类加载器过多导致内存使用过高被OS杀死进程;7)数据同步系统频繁OOM的排查与解决;8)总结JVM参数优化、GC问题定位及OOM分析方法。
菜鸟之路Day25一一前端工程化(二)
本文是《菜鸟之路Day25——前端工程化(二)》的详细记录,作者blue于2025年3月19日撰写。文章基于Vue框架,从零开始搭建前端页面并部署到Nginx服务器。主要内容包括:Element组件库快速入门、综合案例实现(布局设计、组件开发、Axios异步加载数据)、Vue路由配置及项目打包部署。通过实例演示了如何使用Element完成页面构建,配置路由实现页面切换,以及利用Nginx部署前端应用。适合初学者学习前端工程化的完整流程。
微服务——SpringBoot使用归纳——Spring Boot项目工程结构
本文介绍了 Spring Boot 项目的工程结构及其模块功能。项目包含三个主要模块:`src/main/java` 用于编写业务程序;`src/main/resources` 存放静态文件和配置文件;`src/test/java` 用于编写测试程序。默认创建的启动类 `Course01Application` 带有 `@SpringBootApplication` 注解,通过运行其中的 main 方法即可启动项目。Spring Boot 内嵌 Tomcat,无需手动配置
微服务——SpringBoot使用归纳——为什么学习Spring Boot
本文主要探讨为什么学习Spring Boot。从Spring官方定位来看,Spring Boot旨在快速启动和运行项目,简化配置与编码。其优点包括:1) 良好的基因,继承了Spring框架的优点;2) 简化编码,通过starter依赖减少手动配置;3) 简化配置,采用Java Config方式替代繁琐的XML配置;4) 简化部署,内嵌Tomcat支持一键式启动;5) 简化监控,提供运行期性能参数获取功能。此外,从未来发展趋势看,微服务架构逐渐成为主流,而Spring Boot作为官方推荐技术,与Spring Cloud配合使用,将成为未来发展的重要方向。
线程池:故障梳理总结
本文从故障视角和技术视角深入分析了线程池类问题,帮助开发者理解故障原因及优化方法。故障视角中,总结了数据库相关(如热更新、大表加字段、索引问题)、深分页、调用量过大等典型场景,指出慢SQL或高并发可能导致线程池满,最终影响服务可用性。技术视角则聚焦于远程调用IO慢、计算密集型任务及自定义线程池配置不当等问题,强调通过设置合理的超时时间(如ConnectionTimeout、SocketTimeout)和采用fast-fail理念来快速失败,避免资源浪费。同时,文章建议通过流控、背压机制保护系统,并谨慎处理重试逻辑以防止雪崩效应。这些经验和教训对提升系统稳定性具有重要参考价值。