零声教育Golang云原生课程大纲4.1
零声教育
2022-08-01
课程购买地址
腾讯课堂 零声教育Golang云原生课程
golang/云原生/Docker/DevOps/K8S/持续
集成/分布式/etcd
Go编程基础与核心技能
Go后台中间件编程
语法基础
Go项目实战开发(解决方案)
Go云原生
公有云项目实战
错误处理
包定义以及导入
结构体定义
反射原理
闭包
值传递,引用传递,defer函数
并发编程
网络编程
http编程
对象池
goroutine
锁(读写锁、互斥锁)
通道 channel
runtime 包解析
context 使用原则
tcp 编程
udp 编程
http 实现
websocket
post、get、head请求处理
简单web模板
原理分析
应用和性能测试
redis
mysql
mongodb
kafka
etcd
elasticsearch
grpc
http gin
gorm
redis整体结构、存储结构
string 命令及存储原理,对象存储、累加器、分布式锁、位运算应用
list 命令及存储原理,栈、队列、异步队列、阻塞队列、固定窗口记录应用
hash 命令及存储原理,对象存储应用
zset 命令及存储原理,排行榜、延迟队列、时间窗口限流应用
redigo基本操作,管道和事务,发布订阅、stream
set 命令及存储原理,唯一无序应用、关系应用
OLTP、OLAP、体系结构、连接池、事务介绍
基本操作:表创建删除、数据表操作(CRUD)
表查询及案例:基础查询、聚合查询、分组查询、联表查询
索引:主键索引、唯一索引、普通索引、组合索引
索引与约束
索引实现-存储结构以及B+树
最左匹配原则以及覆盖索引
索引失效、索引优化、SQL优化
explain分析以及慢日志查询
事务控制语句,事务的acid特性,事务隔离级别
锁以及mvcc原理:加锁流程、释放锁流程,当前读以及快照读
读异常、死锁原理以及案例分析
mongodb bson解析
mongodb crud 操作
mongodb 索引操作、复合索引查询、聚合查询
mongodb 文档管理
mongodb go driver操作
mongodb 连接池实现
kafka 介绍
kafka 体系结构以及读写机制
kafka典型应用场景:异步处理、系统解耦、流量削峰、日志处理
kafka 驱动包操作:生产者消息生产策略、生产者 ack 策略、消费者组 rebalance
机制
etcd v2与v3 比较,etcd 体系结构
etcd APIs:数据版本号机制、CURD、 监听、事务、租约
etcd 索引以及B+树
etcd 读写机制以及事务 ACID 特性分析
Raft共识算法:leader选举和日志复制,Raft 运行机理详解
etcd go驱动包操作
etcd 典型应用:服务发现、负载均衡、leader选举、分布式锁
es 介绍:倒排索引、lucene、es-head以及kibana
es 集群以及原理:集群健康值检查、es 索引操作以及文档操作、es 读写机制
es 查询:匹配查询、范围查询、多条件查询、中文分词、聚合查询
es 应用:es go驱动包操作、索引以及文档操作、es 高级查询:term、match、
aggregation
grpc 体系结构,grpc 典型应用,protobuffer 语法、生成编译、模板接口
grpc 关键特性:拦截器、超时控制,重试
unary API 细节处理以及应用场景
client stream API 细节处理以及应用场景
server stream API 细节处理以及应用场景
bidirectional stream API 细节处理以及应用场景
gin框架分析
RESTful API实践
URL参数查询
query接收数组和Map
表单参数处理
上传文件
分组路由
中间件鉴权
json、xml、yaml、protobuf序列化
数据库连接
创建表
增删改查
事务
微信后台公众号实战
流媒体网站开发
OAuth2.0
Admin后台管理系统
分布式日志系统
goim千万级高并发推送
公众号开发逻辑
注册、权限处理、消息回复
http get方法token认证
http post方法处理消息回复
微信公众号签名验证方法
XML解析、CDATA解析
交换协议、接收消息协议、被动回复消息协议
流媒体直播框架分析
前后端分离设计
RESET API设计,包括用户、视频、评论处理
用户、评论、会话、待删除视频数据库设计
meddleware handler机制
登录注册
视频上传
视频评论
流控算法
OAuth2.0 协议流程分析
授权码、隐藏式、密码式、客户端凭证流程分析以及应用场景
授权码详细流程分析以及restful api 详解
go OAuth2.0 第三方登录应用
Go Admin工程安装
架构分析和各模块精讲
cobra命令行实战
casbin权限管理
RBAC实践、多租户实践
添加新应用
添加新模块
自动生成代码
配置权限
swagger api
传统 elk 解决方案及其弊端
日志收集服务开发
etcd 管理主要信息收集
配置文件热更新
kafka 日志收集
elasticsearch 日志分析
支持单个、多个、广播消息推送
心跳检测(应用心跳和tcp、keepalive、http log pulling)
接入层支持多协议(websocket,tcp,http)
可拓扑的架构(job、logic模块可动态无限扩展)
基于Kafka做异步消息推送
注册发现服务
消息协议设计(基于protobuf)
goim推送服务架构分析
grpc客户端服务端编程
Docker
k8s
基本架构、涉及概念、隔离机制
操作命令及案例:生命周期管理、容器运维操作、镜像及镜像仓库,负载均衡案例
Docker镜像:镜像构建,Dockerfile
存储:数据共享、数据备份和还原
Docker Compose:操作命令、配置文件
容器监控与CI/CD:监控命令、监控工具,gitlab持续集成案例
基本概念和术语、安装与升级
kubectl 命令操作:基本语法、基础操作、应用部署、集群管理、故障排除和调试
命令
Pod定义语法
Service定义语法
Pod中容器健康检查:存活检查、就绪检查、启动检查
Pod的部署:Deployment部署Pod、DaemonSet部署Pod、静态Pod
Service的四种发布类型:ClusterIP、NodePort、ExternalName、LoadBalancer
Pod中运行容器、Init容器、Pod中容器生命周期函数
无选择符Service
无头Service:有选择符Service、无选择符Service
Service发现机制
Service TLS 案例
Ingress与Ingress Controller
Ingress暴露Service:默认后端、扇出、基于名称的虚拟托管
Ingress TLS 案例
MetalLB与Service LoadBalancer、Ingress
配置:ConfigMap与Secret
存储:hostPath、emptyDir、ConfigMap、Secret、PVC
网络:bridge驱动、host驱动
Swarm集群:集群管理、节点管理、服务管理、Compose Deploy
邮件推送服务
验证码
对象存储
日志服务
云直播
云点播
人脸核身
文字识别
短信服务
客户端接入
服务端接入
静态网站托管
图片压缩与图片样式
web数据直传
私有读与CDN鉴权
SDK方式采集日志
日志服务控制台
域名配置
直播流管理
延播管理
拉取上传
服务端上传
媒体资源信息获取
照片人脸核身
活体人脸核身
活体人脸对比
车牌识别
通信行程卡识别
零声服务
适宜工程师人群
参考书籍
学习方法大5点
学习方法小5点
从事多年后端开发,想转go语言的工程师
目前从事go语言开发,技术栈比较单一的golang工程师
计算机相关专业的在校生或应届毕业生,本科以上学历,有任意后端语言基础
根据课程大纲从基础篇入手逐步深入
多想,遇到任何问题,深入思考找到真正的问题
多练,通过练习将知识点融汇贯通
多问,通过自己思考和尝试仍不理解的问题,多找老师沟通
多讨论,找身边的同时朋友讨论技术问题
每节课程先预习课件,提出一些疑问,再看视频学习,看完一遍视频之后再练习
课后总结:学到什么,可以在哪些场景应用,没学懂的内容有哪些,反复学习练习
将学到的内容以文档、博客或其他形式向外输出,通过这种方式整理知识点之间逻
辑关系,加强学习效果
如果可以,建议参加零声学院的费曼学习计划,巩固所学知识
通过自己努力搞不懂的问题,积极与老师沟通
《Go 语言底层原理剖析》
《Docker 实践》
《Docker 容器与容器云 第2版》
《Kubernetes 权威指南 第4版》
《云原生应用框架》
目标岗位
Golang开发工程师
高级Golang开发工程师
Golang服务端开发工程师
中台后端开发(Go语言)
运维开发工程师(Go语言)
Go入门必备
第一个golang程序
golang实现ping操作
课程管理系统
内存缓存系统
文件读写
mysql数据库读写
redis读写
生产者消费者模式
TCP文件传输
UDP实现DNS请求
main函数与main包
编译与运行
包与文件夹
包与访问修饰符
go mod 依赖管理
命令行参数接收
创建ICMP连接
ICMP校验和计算
发送ICMP请求和并接收响应
数据存储实现
数据访问层实现
对象工具方法实现
业务接口实现
接口的实现
工具方法实现
通过协程清空过期缓存
单元测试与缓存系统调用
将日志写入到文件
IO操作
第三方库解析yaml文件
字符串操作解析yaml文件
mysql驱动引用
连接池初始化
增删改查基本操作
事务
redigo的引用
redis连接池的创建与使用
redis 面向对象的抽象
生产者消费者四种情形介绍
异步IO输出
一对一模式
一对多模式
多对一模式
多对多模式
TCP Server端
TCP Client端
TCP文件上传
TCP文件下载
DNS请求报文结构讲解
UDP Server端
UDP Client端
构建DNS请求数据
发送DNS请求并接收响应
DNS响应报文解析
DNS请求验证
邮件及邮件模板
ses邮件推送
smtp邮件推送
短信签名与短信模板
短信发送接口实现
验证码短信发送实现
控制台操作
课程数据
时长:150小时
文档数:125
代码量:35000+
项目:24(入门9个、实战项目6个、公有云项目9个)
从事多年后端开发,想发展第二开发语言的工程师
学习周期:每天学习加练习3小时,预计3个月
热门中间件:9个
6大课程板块
入门必备:学习go语言基本语法与编程风格
编程基础与核心技能:概括性的学习go语言基础以及go语言核心编程技能
go后台中间件编程:学习目前市面热门中间件,提高面试和工作能力
go项目实战开发:巩固基础,提高项目实战能力
go云原生:学习云原生部署以及基本的运维开发能力
公有云项目实战:从实际出发,学习常用公有云服务二次开发
课程购买地址
腾讯课堂 零声教育Golang云原生课程