零声教育 Golang云原生 第六代课程大纲
Nick
2025-03-14
课程购买地址:
golang/云原生就业课(Go语>言/分布式/微服务/DevOps/k8s二开/大模型部署/AI产品应用)
Golang/云原生/DevOps
分布式/微服务/服务网格
工程组件
云原生
场景化解决方案
Golang
分布式中间件
golang特性
并发编程
网络编程
常见数据结构和算法
设计模式
高性能web框架gin
高性能RPC框架gRPC
对象关系映射gorm
轻量级认证机制jwt
字段验证器validator
结构化日志记录logrus
网关grpc-gateway
mysql
redis
mongodb
ElasticSearch
kafka
etcd
高性能消息传输协议protobuf
Docker容器
Kubernetes基础
git
gitlab
持续交付Argo
Prometheus 监控系统
分布式链路追踪OpenTelemetry
Kubernetes声明式资源管理Kustomize
defer/recover异常捕获和处理
interface隐式实现
通过通信共享内存
函数式编程与闭包
sync.WaitGroup等待一组goroutine完成
sync.Mutex与sync.RWMutex实现并发安全
sync.Pool实现对象的重复利用
sync.Once实现数据懒加载
sync.Map线程安全集合
sync.Cond根据条件等待goroutine完成
atomic通过内存共享数据
TCP编程
UDP编程
WebSocket编程
Http编程
UDP可靠传输协议QUIC
单元测试与性能分析
切片(可变数组)
集合(字典)
链表
队列
栈
二叉查找树
单例模式
工厂模式
策略模式
观察者模式
适配器模式
代理模式
责任链模式
context控制协程退出
功能测试
基准测试
模糊测试
http测试
pprof性能分析
cgo与C语言交互
RESTful API与API版本控制
中间件编程及jwt身份认证
Controller模型绑定与参数验证
Protobuf消息传输
使用protobuf定义服务
一元请求与流式请求
header与trailer元数据传输
TLS与双向TLS确保通讯安全
OAuth2认证与拦截器
Keepalive连接保活配置
多路复用与健康检查
Resolver服务名称解析器
Client 连接池的实现
类型的导入与消息格式的定义
protoc编译器与API读写消息
Model的定义与tag的使用
基于orm的CRUD与原生SQL
嵌套事务、SavePoint/RollbackTo事务
Hook与Session
jwt认证机制原理
HS、RS、ES、ED签名密钥生成
HS、RS、ES、ED签名与验证
标签符号及单字段验证
struct绑定与多层级验证
自定义字段、结构体补充及自定义验证
struct与map基于map规则验证
根据locale本地化提示消息
以std、file、fileRotate三种方式输出日志
通过Hooks向多个位置发送日志
网关插件以及网关的默认实现
配置文件定义HTTP规则以及网关上传文件
Http header转发到gRPC上下文
网关健康健康检查的配置
配置解决方案viper
配置格式与支持的数据源
应用配置与配置热更新
redis整体结构、存储结构
string 命令及内部存储原理
list 命令及内部存储原理
hash 命令及内部存储原理
set 命令及内部存储原理
zset 命令及内部存储原理
redigo 操作
OLTP、OLAP、体系结构
表创建删除、数据表操作(CRUD)
聚合查询、分组查询、联表查询
主键索引、唯一索引
索引实现-存储结构以及B+树
最左匹配原则以及覆盖索引
索引失效、索引优化、SQL优化
explain分析以及慢日志查询
事务控制语句
加锁流程、释放锁流程
读异常、死锁原理以及案例分析
mongodb bson解析
mongodb crud 操作
mongodb 复合索引查询、聚合查询
mongodb 文档管理
mongodb go driver操作
mongodb 连接池实现
etcd v2与v3 比较
etcd 数据版本号机制
etcd 索引以及B+树
etcd 读写机制以及事务 ACID 特性分析
Raft共识算法与leader选举和日志复制
etcd go 驱动包操作
etcd 服务发现
kafka 体系结构以及读写机制
kafka 驱动包 生产者消息生产策略
kafka 异步处理
倒排索引、lucene
es 集群健康值检查
es 中文分词、聚合查询
es go驱动包操作、索引以及文档操作
otel项目概述与关键概念
OTLP/jaeger/zipkin等导出器实现trace导出
git的工作流程
代码管理
分支管理
代码共享与项目更新
代码检查与对比
gitlab CI/CD 标准流程
基于gitlab的代码评审
变量和安全文件
CI/CD 配置文件详解
基于Docker安装gitlab runner
基于docker out docker 构建docker镜像
生成资源
设置贯穿性字段
组织和制定资源
Docker安装配置
Linux Namespace隔离
Docker 命令行操作
镜像分层机制
Volume数据存储持久化与数据共享
bridge、host、overlay网络驱动
Docker Compose项目部署
Swarm 集群高可用
kubeadm集群安装和升级
kubectl命令行操作
string 对象存储应用
list 栈应用
zset 排行榜
mvcc原理,当前读以及快照读
option定义http规则以及HttpBody响应
string 累加器应用
string 分布式锁
string 位运算应用
list 队列、异步队列、阻塞队列
list 固定窗口记录
hash 对象存储应用
set 唯一无序应用
set 关系应用
zset 延迟队列
zset 时间窗口限流
redigo 管道和事务
redigo 订阅发布、stream
mysql网络模块:连接池与事务
普通索引、组合索引
索引与约束
事务的acid特性
事务的隔离级别
kafka 系统解耦
kafka 流量削峰
kafka 日志处理
kafka 驱动包 生产者 ack 策略
kafka 驱动包 消费者组 rebalance 机制
etcd 体系结构
etcd CURD
etcd 监听、事务、租约
Raft 运行机理详解
etcd leader选举
etcd 分布式锁
es-head和kibana
es 索引操作以及文档操作
es 读写机制
es 匹配查询、范围查询、多条件查询
es 高级查询:term、match、aggregation
容器health check
容器重启策略
容器资源配额
容器命名空间隔离
Cgroup资源配额限制
RootFs环境依赖
容器写时复制机制
容器联合挂载机制
镜像内容寻址机制
镜像共享
私有注册中心构建
自定义容器启动命令或入口程序
基于Swarm集群的分布式部署
基于Swarm集群的灰度发布
Swarm集群 deploy stack
flannel网络插件的安装
CRI与cri-dockerd
api server 组件
controller manager 组件
Scheduler 组件
kubelet 组件
proxy 组件
pod的定义与基本用法
pod 生命周期与重启策略
容器镜像拉取策略
容器资源配额
容器健康检查与服务可用性
init Container
NodeSelector定向调度
Node亲和性调度 NodeAffinity
Pod 亲和度与互斥调度 PodAffinity
pod Taints 和 Tolerations
Deployment部署
Deployment 升级和回滚
Deployment 暂停与恢复
Deployment 手动与自动伸缩
service的定义与基本用法
service 4种发布类型
service 无选择符service
service HeadLess Service
service 环境变量与DNS服务发现
service TLS
ingress http 7层路由机制
ingress Controller 安装
ingress 转发策略配置
ingress TLS 配置
Volume与PersistentVolume
Volume 与 configMap
Volume 与 secret
StorageClass动态制备
PersistentVolumeClaim磁盘申领
部署cephfs分布式存储文件系统
资源的基准与覆盖
使用kustomize操作资源
Argo 安装配置
Argo CD持续交付
Argo Canary和BlueGreen 部署
Kubernetes Pod
Kubernetes Service
Kubernetes Volume
Kubernetes二开
metrics server 监控node和pod
通过client-go管理集群资源
通过自定义k8s资源扩展k8s功能
容器声明周期处理函数
Kubernetes Pod 无状态部署
Kubernetes Pod 调度
静态pod
DaemonSet 部署
StatefulSet部署ETCD集群
Operator部署Redis企业版集群
Kubernetes Pod 有状态部署
Operator Lifecycle Manager
OLM 部署MySQL NDB集群
镜像构建
Docker项目部署
Docker基础
Docker镜像
数据模型:Metric、Time Series、Sample、Label
指标类型:Counter、Gauge、Histogram、Summary
Prometheus 组件与体系结构
常见配置以及配置项的使用场景
Prometheus 容器化运行
PromQL 语法与常见函数
零声服务
适宜工程师人群
参考书籍
学习方法大6点
学习方法小5点
3~5年后端开发工作经验想学go语言的工程师
想进入云原生云计算方向的golang工程师
计算机专业本科学历应届毕业生
有一定基础的情况,可根据实际情况侧重学习某个板块
多想,遇到任何问题,深入思考找到真正的问题
多练,通过练习将知识点融汇贯通
多问,通过自己思考和尝试仍不理解的问题,多找老师沟通
多讨论,找身边的同时朋友讨论技术问题
每节课程先预习课件,提出一些疑问,再看视频学习,看完一遍视频
之后再练习
课后总结:学到什么,可以在哪些场景应用,没学懂的内容有哪些,
反复学习练习
将学到的内容以文档、博客或其他形式向外输出,通过这种方式整理
知识点之间逻辑关系,加强学习效果
如果可以,建议参加零声学院的费曼学习计划,巩固所学知识
通过自己努力搞不懂的问题,积极与老师沟通
《Go 语言底层原理剖析》
《Docker 实践》
《Docker 容器与容器云 第2版》
《Kubernetes 权威指南 第4版》
《云原生应用框架》
目标岗位
golang高级开发工程师
运维开发工程师
云计算开发工程师
golang服务端开发工程师
中后台开发工程师
3~5年golang开发工作经验没有形成自己技术体系的工程师
5大课程板块
golang:解决go语言编程问题
工程组件:解决golang工程化问题
分布式中间件:解决技术栈单一及分布式开发问题
云原生:云原生分布式部署、监控及运维问题
场景化解决放案:巩固基础、项目实战以及提供分布式解决放案
一般情况下课根据大纲从前往后学习,层层递进
《Prometheus 云原生监控》
《云原生服务网格Istio》
课程服务
老师在线答疑
面试简历梳理
面试总结复盘
课程数据
文件的copy与文件的读写
prometheus/OTLP等导出器实现metric导出
otel-collector数据采集与导出
golang基础
golang安装与配置
数据类型与变量
变量作用域与函数
运算符与优先级
go mod依赖管理
流程控制语句
语言结构与基础语法
golang:
5个关键特性、8个并发编程操作、5类网络编程、
4种单元测试方法、6种数据结构、6种常见算法、
7种设计模式、1种性能测试方法
工程组件:
10个,可构建完整的项目工程(http/rpc),
包括:web框架、rpc框架、网关、链路追踪、
字段验证、权限校验、日志记录、消息传输、
配置解析、数据入库等各个方面
分布式中间件:
6个,包括关系数据库、文档型数据库、键值对缓存、
消息队列、服务发现、弹性搜索和分析等,
可满足绝大部分分布式应用场景
云原生工具:
8个,包括 代码管理、持续集成、持续部署、
服务容器化、监控、服务网格等一整套devops工具链
场景化解决方案:
2个,包括 企业级ChatGPT微服务项目的开发与落地
,
零声图床(mediahub)等
课程时长:预计200+小时
课程收获
熟练掌握golang编程特性
熟悉常见的数据结构和算法
掌握一套完整的项目工程体系
掌握一套完整的DevOps流程及工具链
掌握下一代微服务解决方案服务网格
掌握大量的场景化解决方案和项目实战经验
如何使用golang标准库
编译与运行
goland配置与debug
开发环境安装配置
泛型编程
课程大纲仅供参考,具体内容以上课为主
冒泡、选择、插入、快速排序
线性、二分、哈希查找
私有化SaaS的AIGC ai-chat 项目实战
基于NVIDIA 的cuda的声音克隆中英文翻译项目
内网应用公网部署的映射工具Tunnel
通过开源项目与模拟OpenAI流式输出快速验证可行性
Keyword filter 解决信息脱敏与关键词提取
Protobuf 与 grpc 流式服务的定义与实现
Redis实现ai-chat上下文管理以及携带上下文发送请求
自动化域名解析与Swarm集群Tunnel服务部署
Docker Stack 同时部署多个分布式应用
AI声音克隆模型容器化部署与FFmpeg音视频处理
Kafka Producer Pool 与 Consumer Group
web站文件直传与静态站点托管
AI基础产品ASR根据音频生产srt字幕文件
项目背景、需求、系统设计以及frp开源项目
应用管理与应用配置
go客户端实现Swarm集群应用的部署与更新
vit/vue/elementUI 实现前端页面
全球化访问图片存储Mediahub
Mediahub 项目背景以及文件存储
短链编码算法与grpc短链服务的实现
grpc客户端连接池以及服务鉴权
Redis缓存穿透处理与短链代理的实现
微信公众号扫码授权注册与登录
Prometheus 记录配置与警告配置文件
Prometheus系统监控与监控指标
Node、Redis、MySQL、Kafka 数据导出
为可伸缩集群部署Node Exporter
Docker TLS 端点配置
Swarm SD 自动发现节点数据采集点
PromQL 查询并计算系统关键指标
为关键指标配置警告规则和记录规则
Prometheus 应用程序监控
client_golang 编程导出4类指标数据
Prometheus 官方Http服务中间件的使用
短时任务数据采集方案 Push Gateway
结合应用程序特点开发应用程序指标数据导出器
Swarm 集群部署应用程序
Swarm SD自动 发现应用程序数据导出端点
Nginx反向代理实现数据采集点的定位
时序数据库VictoriaMetric 持久化存储数据样本信息
Prometheus 警告通知与可视化面板
Alertmanager 分组去重、抑制、静音等概念
QQ邮箱配置第三方服务调用
Alertmanager 分组、路由、抑制、邮件通知配置
Grafana Prometheus数据源的配置
Grafana 开源可视化面板的导入
自定义Grafana可视化面板
gitlab授权登录与OAuth2授权认证
需求分析与项目背景
数据库设计与系统设计
COS对象存储与CDN加速域名配置
服务器转存文件到COS
工厂模式解决文件存储介质多样化的问题
gin web 静态站点的托管
短链算法的分析与选择
自定义短链编码算法的编解码
短链编解码单元测试
Redis缓存设计与实现
Protobuf 与 gRPC 实现短链接微服务
grpc 客户端连接池的实现
数据缓存与数据持久化
grpc请求拦截器
短链服务缓存穿透分析
Crontab 定时任务服务按天刷新过滤因子
Redis特定场景下缓存穿透过滤
短链转长链Proxy实现
为什么使用第三方授权登录
微信公众平台测试号申请
微信公众号回调函数配置与消息验签
公众号关注事件与扫码事件处理
随机昵称与随机头像的补充
通过轮询完成扫码授权回调
gitlab授权应用的创建与配置
OAuth2授权登录标准接口
如何快速实现OAuth2 授权认证
通过Cookie 实现同一根域名下的单点登录
User服务的部署与Web联调
需求分析与项目背景
数据库设计与系统设计
快速利用开源项目获取项目效果
tokenizer Python 项目的运行与打包
octet-stream 字节Luis实现OpenAI流式输出
Reverse Proxy 部署到境外服务器用于请求转发
Protobuf 定义keywords服务
使用开源的Sensitive项目用于星系脱敏与关键词提取
根据开源项目的特性初始化脱敏关键词与关键词提取关键词
按不同的配置启动为不同的服务
golang基准测试
根据go-openai 定义grpc 服务的消息
Protobuf 指定message JSONName
grpc 服务端流接口定义与流式响应
MySQL 数据持久化
Redis 常见的六中数据结构
Redis string 构建链表结构存储数据
Tokenizer 服务计算上下文tokens
向量数据库日常AI场景最简单的解决方案
Dockerfile 打包ai-chat 相关微服务
Docker Compose 单机编排
Compose yaml 文件配置详解
Docker Stack 编排多个分布式服务
AI基础产品机器翻译与参考音频截取
go协程池的应用与AI音频推理
FFmpeg 音视频处理生成最终视频结果
需求分析与项目背景
NVIDIA 显卡的选择
CUDA 版本与驱动安装
NVIDIA Container Toolkit 支持Docker使用GPU
数据库设计与系统设计
声音克隆AI项目以及模型的容器化部署
FFmpeg 7个视频处理的相关指令详解
Kafka Producer 与 Consumer
Kafka Topic的作用与应用
Kafka分布式集群的部署
Kafka 访问控制配置
代码层面抽象Kafka Producer pool
代码层面首相Kafka Consumer Group
Cos 预签名机制实现文件的直传
web站业务接口的实现
gin 启动静态文件服务器
Kafka 生产者消息推送
下载网络文件到存储
FFmpeg 提取AAC音频与MP4视频
COS音频文件上传并通过AI识别文字
ASR识别结果转标准srt字幕文件
字幕内容正则匹配额去噪音字符
AI 机器翻译字幕文件
FFmpeg 截取音频作为参考音频
ASR 识别参考音频的文本内容并保存到存储
为声音克隆AI项目外挂参考音频处理服务支持音频推理
裁剪超长字幕以适应AI推理程序的限制
go协程防止AI推理程序被并发调用
AI根据字幕推理音频
保存音频到存储
FFmpeg 空白音频确保音频时长
FFmpeg 根据字幕时间对音频进行延迟播放
FFmpeg 分组合并多个音频
FFmpeg 音视频合并与字幕添加
Docker Swarm 部署应用程序
项目背景与需求分析
系统设计与数据库设计
frp TCPMUX代理与httpconnect 复用器
frp ssh、http、https 内网穿透
frp AuthServerConfig token 鉴权
ssh、http、https 等类型的应用维护
应用程序端口分配以及配置生成
导出应用配置为yaml格式的配置文件
Docker 启用TLS客户端访问
go客户端更具时间戳创建服务配置
go客户端检查并创建Overlay网络
go客户端设置私有Registry 权限
go客户端创建并更新应用服务
Vue组件化开发与ElementUI
Typescript的interface 的应用
Axios 实例与拦截器
Get与Post请求封装
配置文件与API调用
自动化域名解析与域名备注
服务的部署与客户端配置的返回
Tunnel服务的容器部署与更新
根据Tunnel客户端配置部署Tunnel客户端程序
Certbot 生成通配符证书用于Tunnel应用
微服务间链路关联与baggage数据传递
微服务场景下traces与metrics中间件编程
Deepseek私有化部署与AnythingLLM知识库部署
Deepseek 几种私有化部署
API对接Deepseek实现互动
知识库部署与向量数据库
云原生部署Deepseek与AnythingLLM知识库
ollama 本地部署轻量级模型
大模型知识引擎 LKE私有化部署
高性能应用服务 HAI私有化部署
几种私有化部署的优劣分析
知识库外挂基本逻辑说明
知识库的构建与数据收集
文档的切分与向量化
数据导入与索引构建
检索结果与Deepseek模型的结合
基于开源项目搭建与Deepseek交互界面
结合前端项目开发设计后端API接口
数据的流式响应
Docker打包Deepseek模型
NVIDIA Container Toolkit 支持Docker使用GPU
Kubernetes NVIDIA设备插件安装
CSI动态存储卷提供大模型共享存储支持
AnythingLLM知识库服务的部署
LLM 结合企业业务实现企业Agent(智能体)
混元生图大模型实现文生图Agent
大模型理解图像内容
ASR语言识别与大模型语言合成实现语言人机交互
大模型绘画师不一样的绘画创作
图片风格化将现实照进动漫
大模型美图秀秀一键P图
淘宝商城商品背景图生成
混元大模型视频创作Agent
动漫、3D动画风格化抖音短视频
照片加舞蹈动作秒变舞蹈艺术生
照片加音频唱功提升20年
实现剪映相同的音视频字幕智能识别
腾讯会议字幕实时上屏与录音转写
大模型合成超自然语音响应实现人机语音交互
车辆、商品以及宠物等图像识别
自建库中快速检索相似图片集
识别图片中出现的各种物体场景标签