GoFrame:如何简单地搭建一个简单地微服务

一切资料来源于GoFrame官网, 感兴趣的, 可以直接去官网查阅相关资料。

首先下载框架工具, 下载地址:https://github.com/gogf/gf/releases

然后进入你想要放置的项目文件夹, 执行命令行

bash 复制代码
gf init {project_name} #project_name为你的项目名

执行完后项目结构如图所示

然后打开mysql数据库, 新建数据库, 库中新建一张表(一般都会结合数据存储去做服务, 所以这里结合数据库说明)

然后再项目文件中添加数据库配置

然后再命令行执行如下命令, 从数据库中反向映射模型

bash 复制代码
gf gen pbentity

即可在项目中的manifest/protobuf中生成pbentity模型文件夹, 生成的proto文件, proto为Google官方开发的数据格式, 数据传输比json高效, 感兴趣的话, 可以自行了解。

然后再protobuf中撰写一个接口文件

然后执行如下命令生成接口和控制器文件

bash 复制代码
gf gen pb

此时会生成对应的接口文件如下:

然后执行如下命令, 反向映射dao模型文件

bash 复制代码
gf gen dao

可以看到dao中和model中多了t_person.go等文件

然后去logic编写服务给controller调用, 在logic中构建person.go文件

然后执行命令生成service接口

bash 复制代码
gf gen service

可以看到service中生成了person.go文件, 里面内容是申明了person服务的接口, 然后再logic/person/person.go中注册服务接口

然后再controller中重写person的控制器方法调用service即可完成整个api调用链路

最后回到internal/cmd/cmd.go中构建grpc命令, 并且注册控制器成为路由, 即可完成整个服务的构建

然后启动main.go, 即可启动整个服务了, 启动结果如下:

相关推荐
Web3&Basketball43 分钟前
CRM Agent 后训练实战:3 倍更少错误
python·架构·大模型·agent·推理
ting94520005 小时前
深度拆解Enter Pro AI原生开发平台:从底层架构到企业级落地技术实践
人工智能·架构·ai-native
这个DBA有点耶6 小时前
数据库集群与分布式架构:三条技术路线对比、金仓KES RAC实测数据与决策框架
数据库·程序员·架构
春天花会开1316 小时前
Supabase 自部署 Edge Functions 超时从 60s 延长到 360s 完整复盘
运维·云原生
这个DBA有点耶8 小时前
InnoDB页结构深入:页分裂、页合并、填充因子——B+树底层机制全解析
数据库·mysql·架构
Dawson Zhu8 小时前
大模型记忆系统设计:分层架构与关键技术解析
人工智能·语言模型·架构·aigc·agi
Dawson Zhu9 小时前
大模型预训练为何普遍单轮遍历?——从 Scaling Laws、数据重复到灾难性遗忘的技术解析
人工智能·语言模型·架构·aigc·agi
烈风逍遥10 小时前
第五篇:通用 LLM 流式对话:前后端联接的完整实现
前端·后端·架构
骑着蜗牛撵大象32710 小时前
告别内存泄漏:LLMManager架构设计与智能指针在AI SDK中的智慧选型
c++·ai·架构
万联WANFLOW11 小时前
网络排障:如何从延迟、丢包、带宽定位海外访问异常
网络·架构·业界资讯