Skip to content

【Go微服务】一文入门go-micro

本文为掘金社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!

这篇文章将带你使用go-micro入门微服务开发。

罗马不是一天建成的,要想一文入门微服务开发还是要有一定基础的。

没基础的同学也不用担心,可以先“补课”,哈哈:

前提条件

  1. 已经掌握了Golang的基础知识,如果基础薄弱,欢迎学习的我的Go语言学习专栏,查漏补缺。

  2. 了解Protobuf,知晓相关知识点。 补课可以阅读这篇文章:# 一文带你玩转ProtoBuf

  3. 了解RPC的概念,知晓gRPC如何使用。补课可以阅读这篇文章:# Go RPC入门指南:RPC的使用边界在哪里?如何实现跨语言调用?# 开发gRPC总共分三步

微服务框架对比

目前Go微服务框架很多,包括:go-micro、go-zero、go-kit、go-kratos、tars-go、dubbo-go、jupiter等等...

我简单整理了一下,让大家先有个整体的认识:

简单横评各个框架

框架

作者

开源时间

一句话概述

优势

缺点

最新star数

go-micro

国外大佬Asim团队

2015年

是最早,最经典的Go微服务框架之一

轻量级框架,入门简单,文档清晰

版本兼容性差,社区活跃度一般

19.4k

go-zero

国内大佬万俊峰团队

2020

提供了微服务框架需要具备的通用能力

社区生态非常好,无论是文档更新还是技术群都很活跃

相比于go-micro比较重,同时也只带一部分的强约束,学习门槛比go-micro略高

20.8k

go-kit

国外大佬

2015

Go-kit将自己描述为微服务的标准库。像Go一样,go-kit为您提供可用于构建应用程序的单独包。

极度轻量级框架

社区建设一般

24k

tars-go

腾讯开源

2018

tarsgo是tars这个大的C++重量级微服务框架下的go语言服务框架

优势在于很多能力不用从头开始做起,直接依托母体tars

缺点是独立性较差,要选用这个tarsgo的前提,就是要先选用tars这个C++的框架

3.1k

dubbo-go

阿里开源

2019

dubbogo是dubbo这个Java重量级微服务框架下的go语言服务框架

和腾讯开源项目类似

和腾讯开源项目类似

4.2k

go-kratos

B站开源

2019

轻量级的微服务框架,框架定位于解决微服务的核心诉求。

暂无,后续补充

暂无,后续补充

19k

jupiter

斗鱼开源

2020

面向服务治理的Golang微服务框架

暂无,后续补充

暂无,后续补充

3.9K

我计划系统的介绍2个微服务框架的_入门和实战教程_:“go-micro”和