全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📝 1 篇文章 20 道配套习题

部署与配置管理专题

专题说明

本专题聚焦Gin应用的部署与配置管理,涵盖热重载开发、配置加载方式、容器化部署与生产环境运维。构建易于运维的应用是团队协作的基础。

学习目标

  1. 掌握Air热重载工具的使用
  2. 学会多种配置加载方式(环境变量、配置文件)
  3. 掌握Docker容器化部署
  4. 理解优雅关闭与信号处理

学习内容

  • Gin热重载工具(Air)
  • 配置加载方式(环境变量、YAML、JSON)
  • Viper配置管理库
  • Docker容器化部署
  • Dockerfile编写最佳实践
  • Kubernetes部署基础
  • 优雅关闭实现
  • 健康检查端点配置

学习建议

  1. 开发环境使用Air实现热重载提升效率
  2. 生产环境配置优先使用环境变量注入敏感信息
  3. Docker部署使用多阶段构建减小镜像体积
  4. 优雅关闭确保请求处理完成后再退出

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
单选题

开发Gin应用时,实现代码修改自动重新编译运行的常用工具是什么?

A

go run

B

Air

C

gin

D

fresh

2
单选题

Air热重载工具的配置中,exclude_dir参数的作用是什么?

A

指定需要监控的目录

B

指定不需要监控变化的目录

C

指定编译输出目录

D

指定日志文件目录

3
多选题

Air热重载工具默认监控哪些文件类型的变化会触发重新编译?

A

.go源代码文件

B

.html模板文件

C

.json配置文件

D

.md文档文件

4
判断题

热重载工具(如Air)适用于开发环境,但在生产环境应该使用稳定的编译版本,而不是实时热重载。

A

B

5
填空题

Air热重载工具的配置文件名为_________,默认放置在项目______,运行air命令时会自动读取该配置。

6
单选题

Gin应用中区分开发、测试、生产环境最常用的方式是什么?

A

在代码中硬编码环境判断

B

通过环境变量(如GO_ENV)指定运行环境

C

为每个环境编译不同的二进制文件

D

使用不同的数据库连接

7
单选题

使用Viper配置管理库时,如何为不同环境加载不同的配置文件?

A

使用AddConfigPath添加多个路径

B

使用SetConfigName动态设置配置文件名

C

使用MergeConfigMap合并多个配置

D

以上都可以实现,但方式不同

8
多选题

使用Viper配置管理时,以下哪些方式可以覆盖配置值?

A

环境变量覆盖配置文件中的值

B

命令行参数覆盖配置值

C

Set方法直接设置配置值

D

配置文件自动覆盖代码中的值

9
判断题

敏感配置(如数据库密码、API密钥)应该存储在环境变量或加密的配置文件中,而不是直接写入代码或普通配置文件。

A

B

10
填空题

使用Viper绑定环境变量时,调用viper.____________()会自动读取所有环境变量,使用viper.SetEnvPrefix("APP")设置前缀后,database.host配置会绑定到环境变量_________________

11
单选题

在Gin应用中,数据库密码等敏感信息最安全的存储方式是?

A

写在代码常量中

B

存储在普通配置文件中

C

使用环境变量传递

D

使用专门的Secret管理服务(如Vault)

12
单选题

以下哪个文件应该被添加到.gitignore中,避免敏感配置泄露到代码仓库?

A

config.yaml(基础配置)

B

config.prod.yaml(生产配置含敏感信息)

C

.env(本地开发环境变量)

D

B和C都应该排除

13
单选题

使用SOPS工具加密配置文件的原理是什么?

A

使用简单密码加密整个文件

B

使用云服务KMS(如AWS KMS、GCP KMS)进行加密

C

使用AES对称加密算法

D

使用RSA公钥加密

14
多选题

生产环境部署Gin应用时,以下哪些是处理敏感配置的安全实践?

A

使用Kubernetes Secrets存储敏感配置

B

在CI/CD流程中动态注入环境变量

C

使用Vault等Secret管理服务

D

将敏感配置提交到私有git仓库

15
多选题

Gin应用日志记录中,如何防止敏感配置信息泄露?

A

配置值脱敏后再记录日志

B

避免在日志中记录完整的配置文件内容

C

日志文件权限设置为只允许特定用户访问

D

日志文件内容加密存储

16
判断题

应用启动时应该验证必要的配置项是否存在,缺少关键配置时应立即报错退出,而不是继续运行导致运行时错误。

A

B

17
判断题

生产环境的敏感配置变更应该有审计日志记录,包括谁修改了什么配置、修改时间等信息。

A

B

18
填空题

使用HashiCorp Vault管理敏感配置时,应用通过Vault_________获取Secret,Secret存储路径如secret/data/database,获取的值通常使用_________方法设置到应用配置中。

19
填空题

使用SOPS加密配置文件,加密命令为______________ --kms <key-id> config.yaml,解密命令为______________ config.yaml

20
单选题

在Gin中间件中使用配置值的推荐方式是什么?

A

在中间件内部直接读取配置文件

B

通过中间件工厂函数注入配置值

C

使用全局变量存储配置

D

在每个请求中动态读取配置

← 上一个专题 路由配置与RESTful风格专题
下一个专题 → 高并发与性能调优专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库