Skip to content

Go实战 | 《从零实现一个go web框架》

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

❓能学到什么


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

⭐课程亮点


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

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

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

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

📑课程目录


📺 总视频数量:143课时

🕧 总时长:27小时+视频讲解,代码全部一行一行实现


第一章:分析web框架

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

第二章:路由实现

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

第三章:中间件

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

第四章:页面渲染

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

第五章:参数处理

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

第六章:日志处理

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

第七章:错误处理

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

第八章:协程池

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

第九章:认证

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

第十章:配置文件

  • 配置文件格式
  • 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
  • 应用

🛒 价格&福利


💰 课程价格:599元

🎁 额外福利:购买后赠送价值299元升职加薪星球

  1. 包括星球专属八股&面经资料、goframe实战教程

  2. 还提供就业辅导:腾讯会议1对1的形式,包括答疑&简历优化&就业辅导


📣 课程模式

❝ 项目并不是卖了就结束了,有微信课程群,进行项目答疑:视频教程+答疑模式,让你学完后具备拿高薪的能力

扫描下方二维码,私信【go web框架】可进行咨询,领取试看和报名。

微信公众号二维码

🚀 学习遇到瓶颈?想进大厂?

看完这篇技术文章,如果还是觉得不够系统,或者想在实战中快速提升?
王中阳的就业陪跑训练营,提供定制化学习路线 + 企业级实战项目 + 简历优化 + 模拟面试。

了解训练营详情