Appearance
Go 云原生 AI 学习手册
Go 开发
课程
- 左耳听风 github.com/haoel 酷壳 Remembering-Haoel
- 从零开发企业级 Go 应用 掘金小册 孔令飞 miniblog 案例
- Go 语言项目开发实战 极客时间 孔令飞 iam 案例 marmotedu
- 云原生 AI 实战营 知识星球 孔令飞 官网 onexstack
- 【Go API 开发实战】Go API 开发实战教程简介(1-7) 腾讯技术工程官方号 孔令飞
资料
- Go 官方学习资料
- awesome-go
- Golang 修养之路 刘丹冰 性能优化 涉及:GMP 模型、pprof
- Go 底层原理与工程化实践
- 100 个 Go 语言典型错误 100 Go Mistakes 随书代码
- 《The Way to Go》
- Go101
命名
- 程序员“起名”头痛根治指南 腾讯技术工程公众号 作者:marinewu
知识点
- Makefile
- 项目结构
- systemd
- Web 服务器 gin
- gRPC 服务器 grpc-go protoc
- Go 测试
- Mock 测试
- 基准测试 wrk 引用文章
- 表驱动测试 测试库 BDD 库 猴子补丁
- Go 依赖管理
- GOPATH 环境变量
$GOROOT=Go 的安装目录$GOPATH/bingo install 安装的命令都放在这$GOPATH/src项目源代码$GOPATH/pkg/mod管理模块依赖
- Go Modules(Go 1.11)
- 搜索依赖 pkg.go.dev
go env GOCACHE编译缓存区- 相关环境变量:
shexport GO111MODULE=on export GOPROXY=https://goproxy.cn,direct export GOPRIVATE= export GOSUMDB=off - Go 工作区(Go 1.18+)多模块开发 替代
replace
- GOPATH 环境变量
云原生
Docker 容器
- Docker
- Docker Compose
- 部署 Redis 集群
- 部署分布式应用
- 通过 Dockerfile 构建 Docker 镜像
- 构建前端服务镜像 Vue
- 构建后端服务镜像 Go
- 构建 Pytorch 基础镜像
- 搭建 Harbor 私有镜像仓库
Kubernetes
链路追踪
- 链路追踪相关知识点 TraceID SpanId 等
- Jaeger 和 OpenTelemetry
消息队列
- Kafka
CI/CD
- GitOps:GitLab 做 CI,ArgoCD 做 CD 使用场景梳理
- Jenkins “退役老兵”
监控告警
- 服务监控指标:Prometheus
- 接口耗时:Histogram + PromQL
- 告警配置:Alertmanager
- 数据可视化:Grafana
API 网关
- Tyk
- Nginx
云原生专区:Kubernetes
教程
- CNCF Landscape 云原生技术栈
- kubernetes.io 学习官方文档
- kube-ladder Kubernetes 学习路径
- kubernetes-examples Kubernetes 经典案例整理
- 阅读经典书籍
- Kubernetes in Action
- Kubernetes in Action 第 2 版
- 深入理解 Kubernetes 源码 - 2024 年
- Kubernetes 权威指南:从 Docker 到 Kubernetes 实践全接触 上 第 6 版
- Kubernetes 权威指南:从 Docker 到 Kubernetes 实践全接触 下 第 6 版
- knative-tutorial
部署 Kubernetes
其它组件
- 部署 nginx-ingress
- 部署 traefik
- 部署 kubernetes dashboard
- 部署 k9s
- https://github.com/benc-uk/kubeview
核心知识
- 理解 Kubernetes 的架构和组件
- 理解并使用 Kubernetes 内置资源
- 理解标签和选择器
- Operator kubebuilder
- operatorhub.io
案例
- 使用 Helm 启动单体服务
- 使用 Helm 启动分布式应用
- Kustomize
- 使用
kubectl apply -f启动单体服务 - 模拟升级失败后回滚
kubectl rollout undo deployment my-deployment
OLM
OLM ≠ Operator:是 Operator 的管家
- 核心价值:解决多 Operator 协同时的版本兼容问题
- 生产建议:企业应自建 CatalogSource 控制更新源
下一步行动:
- 安装 OLM:curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.26.0/install.sh | bash -s v0.26.0
- 访问 operatorhub.io 选择要安装的 operator
- 观察 OLM 自动创建的 K8s 资源
AI
- 《PyTorch 深度学习实战》图灵书籍
- ZeroToPyTorch 系列
- PyTorch 官方文档 官方快速入门 创建第一个 torch 模型
- PyTorch 深度学习实战 极客时间付费课程
- 动手学深度学习
工具
- JupyterLab
- Colab
- CNN Explainer
- Tensorflow Playground
知识点
- 线性回归模型
- Mnist 手写数据集