项目简介
本项目是基于Go语言开发的多功能框架集合,包含Web框架、分布式缓存、ORM框架、RPC框架以及WebAssembly使用示例。项目致力于在7天内从零实现各个框架,助力开发者深入理解Go语言应用和原理,简化Web应用、缓存系统、数据库操作、远程过程调用等开发流程,提升开发效率和代码可维护性。
项目的主要特性和功能
- Web框架 - Gee:仿照gin实现,具备上下文设计、Trie树路由、分组控制、中间件机制、HTML模板支持、错误恢复等功能,支持嵌套路由组,路由定义清晰灵活,还提供静态文件服务。
- 分布式缓存 - GeeCache:仿照groupcache实现,包含LRU缓存淘汰策略、单机并发缓存、HTTP服务端、一致性哈希算法、分布式节点通信、防止缓存击穿和使用Protobuf通信等功能。
- ORM框架 - GeeORM:参考gorm和xorm,提供对象表结构映射、记录新增和查询、链式操作与更新删除、钩子支持、事务支持和数据库迁移等功能。
- RPC框架 - GeeRPC:基于net/rpc开发,添加协议交换、服务注册与发现、负载均衡等功能,支持并发与异步客户端、超时处理和HTTP协议。
- WebAssembly使用示例:包含Hello World、注册函数、操作DOM和回调函数等示例,帮助开发者了解Go WebAssembly的使用。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且已安装Go语言开发环境。
安装依赖
进入各个框架对应的目录,使用Go模块管理工具下载依赖:
sh
go mod tidy
运行项目
Web框架 - Gee
进入gee-web
目录下对应的日期目录,例如day1-http-base
,运行以下命令:
sh
go run main.go
分布式缓存 - GeeCache
进入gee-cache
目录下对应的日期目录,例如day1-lru
,运行以下命令:
sh
go run main.go
ORM框架 - GeeORM
进入gee-orm
目录下对应的日期目录,例如day1-database-sql
,运行以下命令:
sh
go run main.go
RPC框架 - GeeRPC
进入gee-rpc
目录下对应的日期目录,例如day1-codec
,运行以下命令:
sh
go run main.go
WebAssembly使用示例
进入demo-wasm
目录下对应的示例目录,例如hello-world
,根据Go WebAssembly简明教程
的步骤进行编译和运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】