Goframe学习笔记(五)微服务

本文详细介绍了微服务架构的概念,如何通过GRPC实现服务间通信,以及在GoFrame框架中使用微服务的步骤,包括配置、协议编写、注册发现(如etcd)和负载均衡策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微服务

微服务是什么

微服务是一种架构风格,其中应用程序由多个小型、自治的的服务所构成,每个服务都围绕特定的功能,可以独立部署,扩展和管理。微服务架构的目的是将大型的应用程序拆分成多个小型、易于管理的服务以提高可维护性、灵活性和可扩展性。

微服务如何实现

微服务的实现需要服务之间能够相互通讯,可以使用RPC(远程过程调用)、RESFUL API、消息队列等方法实现,在GoFrame中可以基于开源框架GRPC进行实现。GRPC是谷歌开发的高性能RPC框架,基于Http/2标准和Protocol Buffers(protobuf)序列化协议,提供了简单易用的接口定义语言。

环境准备

1.Protocol Buffer 编译器安装

下载地址:Releases · protocolbuffers/protobuf (github.com)

52cd84ae66b64451962462e1086a01a7.png

解压后将bin目录添加到环境变量b137a32a5a9a46a6bb977aa0e513d9ff.png

查看是否成功安装

916bbe7e9a7f432faad0e356189d9ff7.png

2.Go协议编译插件安装,用于代码生成

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

重要:将 %GOPATH%\bin 也添加到环境变量

注:若下载失败需设置代理

go env -w GOPROXY=https://goproxy.io,direct

后续操作基于模块支持

go env -w GO111MODULE=on

3.vscode安装protoc扩展

6a6947c2c7a24a51ae60bef45681a908.png

快速开始

使用命令gf init demo -u创建一个初始项目

manifest\config\config.yaml添加如下配置

grpc:
  name:             "demo"  # 服务名称
  address:          ":8000" # 自定义服务监听地址
  logPath:          "./log" # 日志存储目录路径
  logStdout:        true    # 日志是否输出到终端
  errorLogEnabled:  true    # 是否开启错误日志记录
  accessLogEnabled: true    # 是否开启访问日志记录
  errorStack:       true    # 当产生错误时,是否记录错误堆栈

manifest\protobuf下创建文件夹以及协议文件:user\v1\user.proto

目录结构如下:

├── manifest
│   ├── protobuf
│   │   ├── user
│   │ &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值