目录指引
目录指引
17-ysyThread-可视化管理服务
可视化管理服务动态线程池架构模式对比像动态线程池的架构,在现有市场上通常有两种实现方式: 一种是基于 配置中心,整体较为轻量,接入简单,但扩展性不足,个性化更新和功能拓展受限,所有操作都依赖配置中心 另一种是不依赖中间件而是 单独部署独立服务与业务交互,功能更丰富、可视化更友好,但需要 额外运维一套中间件,稳定性和运维成本相对更高 抽象 Nacos API 操作1. 核心方法设计NacosProxyClient 包含四个核心方法,可以参考 Nacos Open API 指南 listConfig方法 :查询命名空间下 配置文件集合 getConfig方法 :查询 配置明细信息 publishConfig方法 :发布配置 service方法 :查询 服务明细 2. 参数处理与命名空间隔离NacosProxyClient 在处理参数时,特别注意了命名空间的隔离问题。在 Nacos...
16-ysyThread-Banner 自定义规范
Banner 自定义规范为什么要打印 Banner?1. 品牌标识与框架认知Banner 就像是框架的”身份证”,它在应用启动的第一时间向开发者宣告:”我来了!” 2. 实用价值:版本管理与问题排查版本信息展示在生产环境中,快速确认框架版本对于问题排查至关重要,可以通过日志快速定位版本信息 启动状态确认Banner 的成功打印意味着框架的核心组件已经正确初始化 3. 社区建设与开源文化通过 Banner 展示项目地址和官网链接 Banner 组件设计与实现核心实现解析Banner 内容设计 patorjk.com 在线生成 Banner ps:为什么版本信息为空,下述会讲到 版本信息处理12345public OneThreadBannerHandler(BuildProperties buildProperties) { this.version = buildProperties != null ? buildProperties.getVersion() : "";}String bannerVersion =...
15-ysyThread-观察者模式重构配置动态刷新
观察者模式重构配置动态刷新如何在保持模块独立性的前提下,实现跨模块的高效通信?特别是在配置中心 Starter 需要通知 Web Starter 进行线程池参数更新时,传统的直接依赖方式会带来模块耦合、包体积膨胀等问题。为了解决这一挑战,引入了观察者模式 跨模块通信的设计挑战1. 模块架构概览12345678.└── starter # 动态线程池配置中心组件包,实现线程池结合Spring框架和配置中心动态刷新 ├── adapter # 动态线程池适配层,比如对接 Web 容器 Tomcat 线程池等 │ └── web-spring-boot-starter # Web 容器线程池组件库 ├── apollo-spring-boot-starter # Apollo 配置中心动态监控线程池组件库 ├── common-spring-boot-starter # 配置中心公共监听等逻辑抽象组件库 ├── dashboard-dev-spring-boot-starter # 控制台 API 组件库 └──...
14-ysyThread-回调函数方式防线程池任务丢失
回调函数方式防线程池任务丢失传统线程池关闭的痛点分析1. 任务丢失风险首先是时间竞争问题,JVM 关闭和任务执行之间存在时间竞争,任务可能来不及完成就被强制终止了。其次是资源浪费,已经投入的计算资源和业务逻辑处理可能前功尽弃。最严重的是数据一致性问题,对于涉及数据跑批等任务,强制中断可能导致数据不一致 2. 手动管理的复杂性在 Spring 应用中,正确管理线程池的生命周期 需要开发者手动处理: 123456789101112131415161718192021222324252627282930@Componentpublic class TaskService { private ThreadPoolExecutor executor; @PostConstruct public void init() { executor = new ThreadPoolExecutor( 5, 10, 60L, TimeUnit.SECONDS, new...
Nacos 鉴权问题
Nacos鉴权问题前言起初默认状态下,Nacos安装包nacos\nacos\conf\application.properties下鉴权是关闭的,即同一个局域网内都可以通过 http://10.12.xxx.xx:8848/nacos/index.html来访问你的Nacos,尤其是连接公司或学校的WIFI时,只要连接此WIFI的用户都能通过此链接访问你的Nacos,极其不安全。 本文解决的问题: 如何开启鉴权,并进行Nacos的账号密码配置 开启鉴权后,无法连接上Nacos,导致Spring Boot启动失败问题 如果通过postman或api来测试鉴权 默认情况下:12### If turn on auth system:nacos.core.auth.enabled=false 代码中的application.yaml文件下不需要配置账号密码,如果配置会持续报错 开启鉴权情况下:所以还是需要开启鉴权,但在开启鉴权后,出现了Spring...






