DSL 说明
# 什么是 DSL ?
DSL(Domain Specific Language)是针对某一领域,具有受限表达性的一种计算机程序设计语言。 常用于聚焦指定的领域或问题,这就要求 DSL 具备强大的表现力,同时在使用起来要简单。说到DSL,大家也会自然的想到通用语言(如Java、C等)。
上面一段话都是搜索引擎 copy 的,忽略即可
# Jpom 中为什么有 DSL?
Jpom 中为了能更好的配置某些功能的属性,采用了 yml(YAML)格式来配置某些功能的属性,这里配置内容统一称为 DSL。
大白话:如果不使用 yml 格式的配置内容来实现,那么意味着需要更多的前端页面组件交互来实现属性配置,使用了 yml 配置后啥属性都一把梭
为啥要把 yml 格式的配置叫 DSL,为了高大上(装*)
# Jpom 中有哪些地方用到了 DSL ?
- 项目管理中的 DSL 模式的项目
- 容器构建中的容器配置
# DSL 模式的项目
DSL 是一个万能的模式,可以执行自定义脚本实现各种命令,来实现管理项目或者监控项目等操作
- 使用 DSL 模式实现接口探活
- 使用 DSL 模式管理 tomcat
- 使用 DSL 运行非标准的模式(如:canal、elasticsearch、nacos、go、php等)
# DSL 模式的项目 - 脚本说明
- 脚本里面至少需要实现的三件事:启动、停止、查状态
- 查状态输出最后一行需要是
running:$pid
$pid 必须为数字且表示当前项目的进程 id ,如果不匹配项目则显示未运行 - 脚本里面不能使用阻塞命令奥(阻塞命令和非阻塞命令解释)
- 脚本里面支持的变量有:${PROJECT_ID}、${PROJECT_NAME}、${PROJECT_PATH}
# 把 status 这个事件(函数)利用好可以实现很多种监控效果
- 使用 CURL 实现接口探活(监控项目假死、监控 elasticsearch 状态、监控其他更多应用状态)
- 使用命令实现 硬盘、CPU、内存监控(逆向思维)
# 配置内容相关示例
帮助我们改善此文档 (opens new window)
上次更新: 2023/09/20, 13:11:05