Golang 中的微服务 - 部分

2020-07-02 00:00:00 创建 微服 代码 服务 定义

介绍

Golang 中的微服务系列总计十部分,预计每周更新。本系列的解决方案采用了 protobuf 和 gRPC 作为底层传输协议。为什么采用这两个技术呢?我花了相当长的时间,才想出并决定采用这个方案。这个方案对开发者来说,非常清晰而简明。我也很乐意把自己在搭建、测试和部署端到端的微服务过程中的心得,分享给想接触这块的朋友们。

在这个教程中,我们将先接触几个基础的概念和术语,然后开始搭建个简单的微服务模型。

本系列中,我们将会创建以下服务:

  • 委托
  • 存货清单
  • 用户
  • 认证
  • 角色
  • 容器

整个技术栈从底至顶主要可划分为:golang、mongodb、grpc、docker、Google Cloud、Kubernetes、NATS、CircleCI、Terraform 和 go-micro。

接下来,你可以根据我的 git 仓库(每篇文章都有自己的分支)中的指导逐步操作,不过必须注意把根据你的开发环境调整 GOPATH 。

同时你需要注意,我是在 Macbook 上开发的,你或许会需要替换 Makefiles 中的 $(GOPATH)$GOPATH 。操作系统不一致带来的问题可能不止这一个,但这里就不一一列举了。

先决条件

  • 掌握 golang 语言和其开发环境
  • 安装 gRPC / protobuf 查看链接
  • 安装 golang 查看链接
  • 按照下列指令,安装 go 的第三方库
go get -u google.golang.org/grpc
go get -u github.com/golang/protobuf/protoc-gen-go

相关文章