从零实现一个框架

GOLANG ROADMAP

❓ 课程目的

TIP

通过实现一个go web框架,支持微服务,微服务框架来达到掌握学习go的目的,并且有能力成为go开源社区的一员,具备贡献代码的能力。

🏷️ 能学到什么?

TIP

  • go的几乎所有的知识,各种go常用的代码设计思路
  • go的各种实用的高性能工具实现,语言的应用不在成为你的障碍
  • 思维升华,轻松应对不同的框架
  • 突破思维困局,原来我们都有造轮子的能力,能将此项目开源,塑造自己在go圈的技术影响力
  • 高并发,高性能,高可用,3H的理解
  • 轻松应对面试
  • 具备参与开源项目的能力

⭐ 课程亮点

完整的web框架(参考gin的实现)

  • 路由
  • 中间件
  • 页面渲染
  • 参数解析
  • 参数校验
  • 彩色日志
  • 认证/https支持
  • 异常处理

微服务支持(支持主流的微服务框架,比如sentinel-go,grpc等)

  • 熔断
  • 降级
  • 限流
  • 负载均衡
  • 链路追踪
  • 网关
  • 协程池
  • 日志工具
  • orm
  • 工程化实践
  • 代码生成器

📑 课程目录

TIP

📺 总视频数量:143课时 ,- 🕧 总时长:27小时+视频讲解,代码全部一行一行实现

第一章:分析web框架

  • 路由
  • 处理器
  • 中间件
  • orm支持
  • 工具
  • 配置项
  • 插件
  • http协议支持
  • 内置模板

第二章:路由实现

  • 不用框架实现
  • 路由实现
  • 实现分组路由
  • 支持不同的请求方式
  • 支持同一个路径不同请求方式
  • 前缀树

第三章:中间件

  • 定义中间件
  • 通用前置中间件
  • 通用后置中间件
  • 测试
  • 改造后置中间件
  • 路由级别中间件

第四章:页面渲染

  • HTML
  • JSON
  • XML
  • 文件
  • 重定向页面
  • String
  • 接口提取

第五章:参数处理

  • 频繁创建context的优化
  • query参数
  • Post表单参数
  • 文件参数
  • json参数
  • 优化验证器-接口+单例
  • 多种类型参数接收-绑定器实现

第六章:日志处理

  • 日志中间件
  • 让日志带颜色
  • 分级日志
  • 多种格式化日志
  • 日志文件输出

WARNING

  • Recovery中间件
  • 打印出错位置
  • 优雅的错误处理
  • http错误

第八章:协程池

  • GMP模型
  • 协程池设计
  • 协程池初步实现
  • 定时清除无用的worker
  • 引入sync.pool
  • 引入sync.Cond
  • 任务超时释放
  • 异常处理
  • 性能测试

第九章:认证

  • 开启https支持
  • Basic认证
  • Digest认证
  • Bearer 认证
  • 实现jwt认证中间件

WARNING

  • 配置文件格式
  • toml讲解
  • 框架支持toml配置

第十一章:ORM框架实现

  • Insert实现
  • 批量插入
  • 更新
  • 查询
  • 删除
  • 查询多行
  • 其他查询条件
  • 聚合函数
  • 原生sql支持
  • 事务

第十二章:工程化实践

  • internal
  • config
  • main.go
  • api
  • pkg
  • 其他脚本文件位置
  • 规范

第十三章:微服务初探

  • 架构变迁之路
  • 微服务概念
  • nacos
  • Consul
  • grpc
  • grpc-gateway
  • sentinel-go
  • Lura
  • Jaeger
  • prometheus
  • seata
  • DTM
  • manba
  • 微服务框架
  • etcd

第十四章:RPC框架实现

  • 通信协议选择
  • 序列化协议
  • 编解码
  • 实现-http方式
  • 实现-grpc方式
  • 实现-tcp方式

第十五章:注册中心

  • nacos
  • etcd
  • 改造代码

第十六章:网关

  • 简单实现
  • 支持Header设置
  • 支持注册中心

第十七章:服务容错

  • 服务雪崩问题
  • 常见的容错方案
  • 限流实现
  • 熔断实现
  • 降级实现

第十八章:链路追踪

  • 为什么需要分布式链路追踪系统
  • 分布式链路追踪系统如何帮助我们
  • 分布式链路追踪系统核心概念
  • Jaeger
  • 应用

🛒 购买渠道

TIP

💰 课程价格:599元

🎁 额外福利:购买后赠送 🛒Go周边鼠标垫

💡 购买流程:

  1. 扫描下方二维码进行购买
  2. 下单后,加站长微信,发放课程资料
  3. 拉你进课程交流群

🤖 课程试听:加课程咨询微信索要试听资料

课程咨询课程模式直接购买
项目并不是卖了就结束了,有微信课程群,进行项目答疑:视频教程+答疑模式,让你学完后具备拿高薪的能力
Last Updated 2024-01-16 09:49:33