项目简介
本项目是一个基于Go语言的多功能开发框架集,包含Web框架、分布式缓存、ORM框架、RPC框架以及WebAssembly使用示例等多方面内容。各框架历经7天开发逐步实现,模仿业界知名框架功能,既适合Go语言学习者深入理解框架实现原理,也为实际项目开发提供参考代码示例。
项目的主要特性和功能
Web框架 - Gee
模仿gin,具备路由处理、上下文设计、分组控制、中间件机制、HTML模板支持和错误恢复等功能。
分布式缓存 - GeeCache
模仿groupcache,采用LRU缓存淘汰策略,支持单机并发缓存、HTTP服务端、一致性哈希算法、分布式节点通信、防止缓存击穿,用Protobuf通信。
ORM框架 - GeeORM
参考gorm和xorm,支持对象表结构映射、记录新增和查询、链式操作与更新删除、钩子函数、事务处理和数据库迁移。
RPC框架 - GeeRPC
基于Go语言标准库net/rpc
开发,添加协议交换、服务注册与发现、负载均衡等功能,支持并发与异步客户端、超时处理、HTTP协议。
WebAssembly使用示例
提供Hello World、注册函数、操作DOM、回调函数等多个WebAssembly实践示例。
安装使用步骤
假设用户已下载本项目的源码文件。
环境准备
确保已安装Go语言开发环境。
运行各个框架
Web框架 - Gee
进入gee-web
目录,根据每天的代码实现,选择相应的目录运行代码,例如:
bash
cd gee-web/day1-http-base
go run main.go
分布式缓存 - GeeCache
进入gee-cache
目录,选择相应的目录运行代码,例如:
bash
cd gee-cache/day1-lru
go run main.go
ORM框架 - GeeORM
进入gee-orm
目录,选择相应的目录运行代码,例如:
bash
cd gee-orm/day1-database-sql
go run main.go
RPC框架 - GeeRPC
进入gee-rpc
目录,选择相应的目录运行代码,例如:
bash
cd gee-rpc/day1-codec
go run main.go
WebAssembly使用示例
进入demo-wasm
目录,选择相应的示例目录运行代码,例如:
bash
cd demo-wasm/hello-world
go run main.go
根据不同框架的具体实现,可能需要安装额外的依赖,可根据代码中的导入语句进行安装。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】