歡迎訪(fǎng)問(wèn)我的GitHub
https://github.com/zq2599/blog_demos
內(nèi)容:所有原創(chuàng)文章分類(lèi)和匯總,及配套源碼,涉及JAVA、Docker、Kubernetes、DevOPS等;
關(guān)于《gRPC學(xué)習(xí)》系列
《gRPC學(xué)習(xí)》是欣宸最新創(chuàng)作的實(shí)戰(zhàn)風(fēng)格原創(chuàng),旨在通過(guò)一系列實(shí)戰(zhàn)操作與讀者一同掌握基于golang的gRPC開(kāi)發(fā)基礎(chǔ)知識(shí);
關(guān)于gRPC
- gRPC 是一個(gè)高性能、開(kāi)源和通用的 RPC 框架,面向移動(dòng)和 HTTP/2 設(shè)計(jì)。目前提供 C、Java 和 Go 語(yǔ)言版本,分別是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, php 和 C# 支持.
- gRPC 基于 HTTP/2 標(biāo)準(zhǔn)設(shè)計(jì),帶來(lái)諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復(fù)用請(qǐng)求等特。這些特性使得其在移動(dòng)設(shè)備上表現(xiàn)更好,更省電和節(jié)省空間占用。
- 各個(gè)進(jìn)程之間可以通過(guò)gRPC相互調(diào)用,如下圖:

本篇概覽
作為《gRPC學(xué)習(xí)》系列的開(kāi)篇,主要工作是確定環(huán)境信息、部署go并做好相關(guān)設(shè)置,為后面的開(kāi)發(fā)做好準(zhǔn)備;
環(huán)境信息
- 操作系統(tǒng):centos linux release 7.9.2009
- go版本:1.15.6
關(guān)于帳號(hào)和權(quán)限
為了接近生產(chǎn)環(huán)境,本文的操作未使用root帳號(hào),而是一個(gè)新建的帳號(hào)golang,新建賬號(hào)時(shí)使用root帳號(hào)來(lái)操作,步驟如下:
- 我這里用的帳號(hào)和群組名為golang,用root賬號(hào)執(zhí)行如下操作:
groupadd golang && useradd -d /home/golang -g golang -m golang
- 執(zhí)行命令passwd golang設(shè)置golang帳號(hào)的密碼;
- 還要給golang賬號(hào)執(zhí)行sudo的權(quán)限,執(zhí)行以下命令,使得配置文件可寫(xiě):
chmod 777 /etc/sudoers
- 接下來(lái)編輯/etc/sudoers,添加下圖紅框中的內(nèi)容,然后保存退出:

- 去掉配置文件的可寫(xiě)權(quán)限:
chmod 440 /etc/sudoers
- 至此,新賬號(hào)golang創(chuàng)建完成,接下來(lái)的操作都用此帳號(hào);
極速部署和配置golang
下載、解壓、設(shè)置,如果您覺(jué)得這些操作繁瑣乏味,以下操作會(huì)讓您省心一些:
- 更新應(yīng)用:
sudo yum update -y
- 安裝稍后會(huì)用到的應(yīng)用:
sudo yum install unzip tree wget -y
- 執(zhí)行以下命令即可完成所有部署工作:
curl -o install-go.sh
https://raw.githubusercontent.com/zq2599/blog_demos/master/files/install-go.sh
&& chmod a+x ./install-go.sh
&& ./install-go.sh
- 執(zhí)行完上述命令后,控制臺(tái)會(huì)輸出類(lèi)似下面的內(nèi)容,可見(jiàn)hello.go文件可以被成功執(zhí)行,表示go環(huán)境部署成功,并且輸出的環(huán)境變量也是正常的:
...
5. create go source file
package main
import "fmt"
func main() {
fmt.Println("Hello world!")
}
6. run hello.go
Hello world!
go1.15.6 install and check finished
- 上述命令中的腳本install-go.sh,其主要內(nèi)容如下:

- 如果您對(duì)腳本細(xì)節(jié)感興趣,可以直接查看已下載的install-go.sh文件;
- 至此,CentOS7下面GO環(huán)境已準(zhǔn)備完畢,下一篇文章會(huì)準(zhǔn)備gRPC環(huán)境;