首页/ 学科题库/ gorm/ 插件系统专题
gorm 专题精讲

插件系统专题

1 篇文章 20 道配套习题

插件系统专题

专题说明

本专题系统讲解 GORM 插件系统的核心机制,包括插件注册原理、Plugin 接口规范、官方插件使用(Prometheus、DB Resolver、Soft Delete 等)以及自定义插件开发,帮助开发者掌握 GORM 扩展能力。

学习目标

  1. 理解 GORM 插件系统的架构设计和注册机制
  2. 掌握官方常用插件的使用方法和配置
  3. 能够开发自定义插件扩展 GORM 功能
  4. 了解插件生命周期和回调链的执行顺序

学习内容

本专题涵盖以下知识点:

  • 插件注册与 Plugin 接口规范
  • Prometheus 监控指标采集插件
  • DB Resolver 读写分离与分库插件
  • 自定义插件开发与回调链集成
  • 插件在 GORM 生命周期中的执行时机

学习建议

  1. 先理解 GORM 回调链机制,再学习插件如何挂载到回调链
  2. 结合实际业务场景理解插件的作用范围和执行顺序
  3. 动手编写简单自定义插件,加深对 Plugin 接口的理解

配套习题(20 题)

参考答案在文末
判断题
1
判断题

Prometheus 监控插件通过注册 GORM 的回调,在每个 SQL 执行后记录执行时间和结果。

A

对

B

错

单选题
2
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 gorm.io/plugin/prometheus 插件

B

手动注册 Prometheus 指标

C

使用 HTTP 中间件

D

解析 GORM 日志

3
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 gorm.io/plugin/prometheus 插件

B

手动注册 Prometheus 指标

C

使用 HTTP 中间件

D

解析 GORM 日志

4
单选题

集成 Prometheus 监控插件的主要目的是?

A

监控数据库连接池状态和查询性能

B

自动优化慢查询

C

备份数据库

D

自动扩容数据库连接

5
单选题

如何在 GORM 中注册一个插件?

A

db.Use(plugin)

B

db.Plugin(plugin)

C

db.Register(plugin)

D

db.Add(plugin)

6
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 gorm.io/plugin/prometheus 插件

B

手动注册 Prometheus 指标

C

使用 HTTP 中间件

D

解析 GORM 日志

7
单选题

集成 Jaeger 链路追踪插件的主要目的是?

A

监控数据库性能

B

追踪 SQL 执行的完整调用链路

C

自动优化查询

D

备份数据库

8
单选题

使用 GORM Prometheus 插件时,如何为数据库指标添加自定义标签(如服务名、环境)?

A

在插件初始化时通过 WithLabel/Labels 配置传递自定义标签

B

修改 Prometheus 插件的源代码

C

在 Prometheus 服务端配置文件中添加标签

D

通过数据库连接字符串传递标签参数

9
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 gorm.io/plugin/prometheus 插件

B

手动注册 Prometheus 指标

C

使用 HTTP 中间件

D

解析 GORM 日志

10
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 gorm.io/plugin/prometheus 插件

B

手动注册 Prometheus 指标

C

使用 HTTP 中间件

D

解析 GORM 日志

11
单选题

如何配置 GORM 的慢查询日志?

A

设置 Logger 的 SlowThreshold

B

使用第三方插件

C

在数据库中配置慢查询日志

D

以上都可以

12
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 gorm.io/plugin/prometheus 插件

B

手动注册 Prometheus 指标

C

使用 HTTP 中间件

D

解析 GORM 日志

13
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 GORM 的 Prometheus 插件

B

手动注册指标

C

通过 HTTP 中间件采集

D

通过日志解析采集

14
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 GORM 的 Prometheus 插件

B

手动注册指标

C

通过 HTTP 中间件采集

D

通过日志解析采集

15
单选题

在 GORM 中集成 Prometheus 监控指标采集,应该使用什么方式?

A

使用 gorm.io/plugin/prometheus 插件

B

手动注册 Prometheus 指标

C

使用 HTTP 中间件

D

解析 GORM 日志

多选题
16
多选题

Prometheus 支持以下哪些指标类型?

A

Counter 计数器(只增不减)

B

Gauge 仪表盘(可增可减)

C

Histogram 直方图(分布统计)

D

Summary 摘要(分位数统计)

17
多选题

GORM 的 Jaeger 插件如何实现 SQL 执行的链路追踪?

A

使用 Context 传递 Trace ID

B

在回调中创建 Span 记录 SQL 执行

C

将 SQL 语句和参数记录到 Span 属性

D

自动将慢查询标记为错误

18
多选题

GORM 插件可以用于以下哪些场景?

A

数据库监控

B

链路追踪

C

软删除增强

D

自动审计日志

填空题
19
填空题

GORM 插件需要实现方法返回插件名称,以及方法在数据库连接建立后初始化。

20
填空题

使用 Jaeger 链路追踪时,需要在请求的中传递,GORM 插件会自动提取并创建记录 SQL 执行。

参考答案
1.正确 2.A 3.A 4.A 5.A 6.A 7.B 8.A 9.A 10.A 11.A 12.A 13.A 14.A 15.A 16.A;B;C;D 17.A;B;C 18.A;B;C;D 19.Name() string;Initialize(db *gorm.DB) error 20.Context;Trace信息;Span
想在手机上刷这套专题的真题?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可解锁本专题全部配套练习与错题本。
了解产品 App
← 上一个专题 性能优化与调优专题 下一个专题 → 数据库迁移基础专题