跳到主要内容
版本:2.8.x(Latest)

如果您的版本和我不一致,也无需担心,他们基本是共通的。

GoFrame


GolangGoFrame的安装方式不再赘述。这里使用的版本信息如下:

  • go version go1.23.4 windows/amd64
  • goframe v2.8.2

gRPC


gRPC是一个由 Google 开发的远程过程调用(RPC)框架,基于HTTP/2。它使用 Protobuf 作为默认的序列化格式。

Go语言通过gRPC-go插件提供gRPC功能。执行命令安装插件:

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

gRPC测试工具

gRPC接口开发完成后,需要一些测试工具,来检测它是否正常运行。比较流行的测试工具有PostmanApifoxApipost等,它们大同小异,您可以根据自己的喜好选择一个。

本书统一使用json展示测试结果,例如:

grpc 127.0.0.1:32001.account.v1.Account.UserRegister
{
  "username": "oldme",
  "password": "123456",
  "email": "tyyn1022@gmail.com"
}
{
  "id": 1
}

它们分别代表请求地址,请求参数,响应参数。

Protobuf


 ProtobufGoogle 设计的数据序列化格式,用于结构化数据的序列化和反序列化。使用 .proto 文件定义消息结构,然后通过编译器生成相应语言的代码。

根据不同的操作系统,在 Protobuf Release 下载对应的文件安装。如果是 MacOS 环境,可以使用 brew 工具安装依赖:

$ brew install grpc protoc-gen-go protoc-gen-go-grpc

检测是否安装成功。

$ protoc --version
libprotoc 26.1

etcd


etcd 是一个分布式键值存储系统,常用于分布式系统中的服务发现。安装它有多种方式,这里贴出 docker-compose.yaml文件用作参考。

version: "3.7"

services:
etcd:
image: "bitnami/etcd:3.5"
container_name: "etcd"
restart: "always"
ports:
- 2379:2379
environment:
- TZ=Asia/Shanghai
- ALLOW_NONE_AUTHENTICATION=yes
- ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379

如果安装成功,在浏览器访问 http://IP:2379/version,会出现以下信息:

{"etcdserver": "3.5.17","etcdcluster": "3.5.0"}

如果您想更酷一些,安装个etcd集群或者学习一下etcd的基础使用,可以参考此文

数据库


MySQL的安装不必多说,使用其他数据库亦可。

需要注意的是,微服务架构下,每个单独的服务都应当有自己的数据库。所以,我们需要建立两个数据库,名称分别是userword

CREATE DATABASE `user`;
CREATE DATABASE `word`;