首页
›
Web后端与企业应用开发
›
009-Go项目结构领域边界蓝图
›
《Go项目部署:领域边界驱动的容器化与CI CD策略》
VIP20
本课程属于:009-Go项目结构领域边界蓝图
Web后端与企业应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Go项目部署:领域边界驱动的容器化与CI CD策略
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论与背景
为什么需要领域驱动设计(DDD)?D… · 以及DDD如何指导Go项目的容器化与…
课程导论
背景
02
Go语言项目结构基础
标准Go项目布局(Standard… · cmd/internal/pkg目录… · 以及如何为DDD做准备
Go
语言项目结构基础
03
领域驱动设计核心概念
实体(Entity) · 值对象(Value Object) · 聚合(Aggregate)
领域驱动设计核心…
Entity
04
限界上下文(Bounded Context)识别
如何通过业务事件风暴识别限界上下文 · 以及如何在Go项目中用模块(modu…
Bounded
Context
05
领域事件与事件溯源
在Go中定义领域事件接口 · 使用事件总线(Event Bus)进… · 以及事件溯源(Event Sourc…
领域事件
事件溯源
06
仓库模式(Repository Pattern)与数据持久化
在Go中实现通用仓库接口 · 结合GORM或sqlx进行数据库操作 · 保持领域层纯净
Repository
Pattern
07
应用服务与用例编排
应用服务层的职责 · 如何编排领域对象完成用户用例 · 以及事务脚本与领域模型的平衡
应用服务
用例编排
08
端口与适配器架构(Hexagonal Architecture)
六边形架构在Go中的落地 · 定义输入/输出端口 · 使用依赖注入(DI)管理适配器
Hexagonal
Architecture
09
CQRS模式在Go中的实现
命令与查询职责分离 · 使用读写模型分离提升性能 · 结合Go channel或消息队列实…
CQRS
Go
10
Go项目的配置管理
使用Viper管理多环境配置 · 配置的结构化定义 · 以及敏感信息(如数据库密码)的安全处…
Go
项目的配置管理
11
日志与监控策略
使用zerolog或slog进行结构… · 集成OpenTelemetry实现分… · 以及Prometheus指标暴露
日志
监控策略
12
错误处理与领域异常
Go的错误处理哲学 · 定义领域特定错误类型 · 使用errors.Is/As进行错误…
错误处理
领域异常
13
单元测试与领域层测试
使用testing包和testify… · mock外部依赖 · 以及测试金字塔在DDD项目中的应用
单元测试
领域层测试
14
集成测试与适配器测试
编写数据库 · 消息队列等适配器的集成测试 · 使用testcontainers-g…
集成测试
适配器测试
15
Docker基础与Go应用容器化
编写高效的多阶段Dockerfile · 使用.dockerignore优化构… · 以及基础镜像选择(alpine/di…
Docker
Go
16
Docker Compose本地开发环境
使用docker-compose编排… · 数据库 · 消息队列等依赖
Docker
Compose
17
领域边界驱动的容器拆分策略
根据限界上下文拆分微服务容器 · 每个容器对应一个独立的Go模块 · 以及共享库的管理方式
领域边界驱动的容…
根据限界上下文拆…
18
容器镜像安全与优化
镜像漏洞扫描(Trivy) · 最小化攻击面 · 使用非root用户运行容器
容器镜像安全
优化
19
Kubernetes基础与Pod设计
Kubernetes核心概念(Pod… · 为Go应用编写Deployment和…
Kubernetes
Pod
20
Kubernetes配置与密钥管理
使用ConfigMap和Secret… · 结合External Secrets…
Kubernetes
配置
21
服务发现与负载均衡
在K8s中使用Service和Ing… · 以及gRPC负载均衡策略(headl…
服务发现
负载均衡
22
健康检查与优雅关闭
实现K8s就绪探针(readines… · 以及Go应用的优雅关闭(signal…
健康检查
优雅关闭
23
Helm Chart包管理
使用Helm打包Go微服务 · 编写values.yaml实现环境差… · 以及Chart版本管理
Helm
Chart
24
CI/CD基础与GitHub Actions
CI/CD流水线核心概念 · 使用GitHub Actions构建 · 测试
CI/CD
GitHub
25
多阶段CI流水线设计
代码检查(golangci-lint… · 单元测试 · 集成测试
CI
多阶段
26
CD流水线与K8s部署
使用GitHub Actions或A… · 通过kubectl或Helm升级K8… · 实现滚动更新
CD
K8s
27
数据库迁移策略
使用golang-migrate或g… · 在CI/CD中自动执行迁移 · 以及回滚策略
数据库迁移策略
golang-migra…
28
蓝绿部署与金丝雀发布
在K8s中实现蓝绿部署和金丝雀发布策… · 使用Service Mesh(如Is…
蓝绿部署
金丝雀发布
29
监控与告警体系
集成Prometheus + Gra… · 设置关键业务告警规则 · 以及日志聚合(Loki)
监控
告警体系
30
课程总结与最佳实践
回顾DDD驱动容器化与CI/CD的关… · 常见陷阱与解决方案 · 以及未来演进方向(如eBPF
课程总结
最佳实践
所属VIP或分类
同VIP:Go微服务性能调优:基于领域边界的数据库访问优化
同VIP:Go微服务测试验证:基于领域边界的单元测试与集成测试
同VIP:Go微服务通信:领域边界下的事件驱动与架构整合