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, 即可启动整个服务了, 启动结果如下:

相关推荐
ZzzZZzzzZZZzzzz…1 分钟前
K8s实战: 用OpenELB破解Service外部访问难题
云原生·容器·kubernetes
星核0penstarry1 分钟前
OpenAI 模型第三方网络安全评估事件解析:背景、原理与改进路径(2)
安全·web安全·云原生
有梦不弃9 小时前
模块化单体架构设计方案:DDD + 六边形架构落地实践
后端·架构
ZENERGY-众壹9 小时前
500个工商业电站压垮数据库?海量光伏时序数据存储的架构取舍
数据库·架构·influxdb·光伏·光伏运维
风曦Kisaki10 小时前
Kubernetes(K8s)笔记Day06: 持久化存储(emptyDir,hostPath,NFS),PV 和 PVC,StorageClass存储类
linux·运维·笔记·云原生·容器·kubernetes
Dr.kangder11 小时前
嵌入式处理器仿真技术——Hypervisor 原理与实践
服务器·嵌入式硬件·架构·嵌入式
2601_9648402713 小时前
技术方案解析:4G 云边协同架构下,智能门禁系统的轻量化升级路径
架构
rhythm-ring14 小时前
《第3篇:BCM的“心脏与神经网络”——UJA1169(SBC)深度解析》
架构·汽车
漫谈数据智理15 小时前
从参考架构到可运行体系如何理解 IDSA 的最新进展
架构·高质量数据集
Crazy________15 小时前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式