SpringBoot 3 进阶教程之二 GraalVM 与 AOT
大纲
- SpringBoot 3 进阶教程之一整合 Prometheus
- SpringBoot 3 进阶教程之二 GraalVM 与 AOT
- SpringBoot 3 进阶教程之三整合 Spring Security
前言
本文主要介绍 SpringBoot 3 如何使用 AOT 技术,包括在 Windows、Linux 平台使用 GraalVM 将 SpringBoot 应用编译成原生镜像(二进制可执行文件)。
AOT 与 JIT
AOT
:Ahead of Time(提前编译),程序执行前,全部被编译成机器码JIT
:Just in Time(即时编译),程序边编译边运行
编译器与解释器
编程语言的分类
- 编译型语言:依赖编译器 (Complier),如 C、C++
- 解释型语言:依赖解释器 (Interpreter),如 JavaScrpt、Python
SpringBoot 3 进阶教程之一整合 Prometheus
大纲
- SpringBoot 3 进阶教程之一整合 Prometheus
- SpringBoot 3 进阶教程之二 GraalVM 与 AOT
- SpringBoot 3 进阶教程之三整合 Spring Security
前言
本文主要介绍 SpringBoot 3 如何整合 Actuator、Prometheus 与 Grafana,实现微服务应用的监控。
官方文档
概念介绍
可观测性
可观测性 (Observability) 一般是指对线上应用进行观测、监控、预警等,包括的详细内容如下:
- 健康状况:组件状态、存活状态等,属于 Health 范畴
- 运行指标:CPU、内存、垃圾回收、吞吐量、响应成功率等,属于 Metrics 范畴
- 链路追踪
- ……
Debian 安装 MySQL 5.7
SpringBoot3 基础教程之一快速入门
大纲
- SpringBoot3 基础教程之一快速入门
- SpringBoot3 基础教程之二常规配置
- SpringBoot3 基础教程之三 Web 开发
- SpringBoot3 基础教程之四 Web 开发
- SpringBoot3 基础教程之五基础特性
- SpringBoot3 基础教程之六场景整合
- SpringBoot3 基础教程之七场景整合
- SpringBoot3 基础教程之八场景整合
- SpringBoot3 基础教程之九核心原理
开发环境要求
环境 & 工具 | 版本 |
---|---|
SpringBoot | 3.0.5+ |
IDEA | 2021.2.1+ |
JDK | 17+ |
Maven | 3.5+ |
Tomcat | 10.0+ |
Servlet | 5.0+ |
GraalVM Community | 22.3+ |
Native Build Tools | 0.9.19+ |
Hexo 主题兼容 Pjax
什么是 Pjax
Pjax 通过 Ajax 从服务器获取 HTML 内容,然后用加载到的 HTML 替换页面上容器元素的内容。Pjax 使用 pushState
更新浏览器中的当前 URL,即 pjax = pushState + ajax
。最早的时候,Pjax 是一个基于 jQuery 的插件,后来推出了完全独立的版本,适用更广泛的应用场景。值得一提的是,Pjax 最大的优势在于,可以在网站本身无刷新的情况下,局部刷新页面内容,同时在现代浏览器中支持前进和后退,由于局部加载的数据量极小,加载速度极快,因此可以最大程度地提升用户体验。Pjax 的天生劣势在于,默认配置对 SEO 并不友好,同时非常依赖页面布局的一致性,需要大量改造来优化。
Hexo 引入 Pjax
很多较早使用 Pjax 的 Hexo 主题,都使用了基于 jQuery 的版本。因此如果是新引入,可以使用最新独立版本的 Pjax。
1 | <script src="https://cdn.jsdelivr.net/npm/pjax@VERSION/pjax.min.js"></script> |
Vue 项目中禁用浏览器缓存配置
H2 数据库基础教程之一
Docker 安装 XXL-JOB
前言
初始化数据库
在 MySQL 执行 XXL-JOB GitHub 仓库中的 SQL 初始化脚本,初始化完成后一共有 8 张表。
表名称 | 描述 |
---|---|
xxl_job_group | 执行器信息表,用于维护任务执行器的信息 |
xxl_job_info | 调度扩展信息表,用于存储调度任务的扩展信息,比如任务分组、任务名、机器的地址等 |
xxl_job_lock | 任务调度锁表 |
xxl_job_log | 日志表,用于存储任务调度的历史信息,例如调度结果、执行结果、调度入参等 |
xxl_job_log_report | 日志报表,用于存储任务调度的日志报表,会在调度中心里的报表功能里使用到 |
xxl_job_logglue | 任务的 GLUE 日志,用于存储 GLUE 日志的更新历史变化,支持 GLUE 版本的回溯功能 |
xxl_job_registry | 执行器的注册表,用在维护在线的执行器与调度中心的地址信息 |
xxl_job_user | 系统的用户表,可以用表中默认的用户名与密码进行登录 |