Go语言的应用

Python023

Go语言的应用,第1张

Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。

Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。

Go语言应用范围:

1、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等

2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发

3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀

4、Paas云平台领域:Kubernetes和Docker Swarm等

5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等

6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言

7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的

8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法

区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式

GO语言+区块链培训课程:

1、 Go有什么优势

Go的优势

1:性能

2:语言性能很重要

3:开发者效率&不要过于创新

4:并发性&通道

5:快速的编译时间

6:打造团队的能力

7:强大的生态系统

8:GOFMT,强制代码格式

9:gRPC 和 Protocol Buffers

可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。

静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。

docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。

简而言之Docker 是一个开源的应用容器引擎,它可以将开发的应用生成镜像,然后发布到任何系统上运行。

因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员再也无法施展表演才华了,不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。

二、安装步骤

1.卸载旧版本的docker

如果Ubuntu系统中有旧版本的Docker,需要卸载后重新安装,较早版本的docker被称为docker, docker.io,或docker-engine。代码如下:

sudo apt-get remove docker \

docker-engine \

docker.io

1

2

3

1

2

3

2.安装docker方法

您可以以不同的方式安装Docker引擎,具体取决于您的需要:

大多数用户建立码头仓库并从它们安装,以方便安装和升级任务。这是推荐的方法。

一些用户下载DEB软件包手动安装并完全手动管理升级。这是有用的情况下,如安装码头在空隙系统,没有访问互联网。

在测试和开发环境中,一些用户选择使用自动化。方便脚本安装码头。

(1)使用存储库安装

在首次在新主机上安装Docker引擎之前,需要设置Docker存储库。之后,您可以从存储库中安装和更新Docker。

设置存储库

1.更新apt包索引并安装包以允许apt若要在HTTPS上使用存储库,代码如下:

$ sudo apt-get update

$ sudo apt-get install \

apt-transport-https \

ca-certificates \

curl \

gnupg-agent \

software-properties-common

1

2

3

4

5

6

7

1

2

3

4

5

6

7

2.添加Docker的官方GPG密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

1

1

验证您现在拥有带有指纹的密钥。9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88,通过搜索指纹的最后8个字符。

$ sudo apt-key fingerprint 0EBFCD88

pub rsa4096 2017-02-22 [SCEA]

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

uid [ unknown] Docker Release (CE deb) [email protected]>

sub rsa4096 2017-02-22 [S]

1

2

3

4

5

1

2

3

4

5

3.使用以下命令设置稳定储存库。若要添加夜间或试验存储库,添加单词nightly或test(或两者兼而有之)stable在下面的命令中。

$ sudo add-apt-repository \

"deb [arch=amd64] https://download.docker.com/linux/ubuntu \

$(lsb_release -cs) \

stable"

1

2

3

4

1

2

3

4

安装Docker Engine

1.更新apt包索引,并安装最新版本或转到下一步安装特定版本:

$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

1

2

1

2

有多个docker仓库?

如果启用了多个Docker存储库,则在不指定版本的情况下安装或更新apt-get install或apt-get update命令总是安装尽可能高的版本,这可能不适合您的稳定性需求。

2.若要安装特定版本在Docker Engine中,列出回购中可用的版本,然后选择并安装:

A.列出回购中可用的版本:

$ apt-cache madison docker-ce

docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

...

1

2

3

4

5

6

7

1

2

3

4

5

6

7

B.使用第二列中的版本字符串安装特定版本,例如,5:18.09.13-0ubuntu-xenial.

$ sudo apt-get install docker-ce=<VERSION_STRING>docker-ce-cli=<VERSION_STRING>containerd.io

1

1

3.通过运行hello-world或者查看安装docker的版本确定是否安装成功。

$ sudo docker run hello-world

$ docker -v

1

2

1

2

这是安装成功显示的

此命令下载测试映像并在容器中运行。当容器运行时,它会打印一条信息性消息并退出。

Docker Engine已安装并运行。这个docker组被创建,但没有向其添加任何用户。你需要用sudo运行Docker命令。继续Linux后安装允许非特权用户运行Docker命令和其他可选配置步骤。

要升级Docker Engine,首先运行sudo apt-get update,然后按照安装说明,选择要安装的新版本。

(2)从包中安装

如果无法使用Docker的存储库安装Docker引擎,则可以下载.deb为您的发行文件和手动安装它。每次升级Docker时,都需要下载一个新文件。

1.去https://download.docker.com/linux/ubuntu/dists/,选择您的Ubuntu版本,然后浏览到pool/stable/,选择amd64, armhf,或arm64,并下载.deb要安装的Docker引擎版本的文件。

注*安装nightly或test(预发行版)包,更改单词stable在上面的URL中nightly或test.

2安装Docker引擎,将下面的路径更改为下载Docker包的路径。

$ sudo dpkg -i /path/to/package.deb

1

1

Docker守护进程自动启动。

3.通过运行hello-world确认是否安装成功。

$ sudo docker run hello-world

1

1

此命令下载测试映像并在容器中运行。当容器运行时,它会打印一条信息性消息并退出。

Docker Engine已安装并运行。这个docker组被创建,但没有向其添加任何用户。你需要用sudo运行Docker命令。继续Linux的安装后步骤允许非特权用户运行Docker命令和其他可选配置步骤。

升级Docker Engine

若要升级Docker引擎,请下载较新的包文件并重复安装程序指向新文件。

3.安装Docker Compose

(1)Docker Compose是什么

Composed是一个用于定义和运行多容器码头应用程序的工具。通过撰写,您可以使用YAML文件配置应用程序的服务。然后,使用一个命令创建并启动配置中的所有服务。

compose可以在所有环境中撰写工作:生产、分期、开发、测试以及CI工作流。

使用compose基本上是一个三步的过程:

使用Dockerfile所以它可以在任何地方复制。

中定义构成应用程序的服务。docker-compose.yml所以它们可以在一个孤立的环境中一起运行。

跑docker-compose up然后编写、启动和运行整个应用程序。

(2)安装Docker Compose

先决条件:Docker组合依赖于Docker引擎进行任何有意义的工作,因此,请确保安装了本地或远程的Docker引擎,这取决于您的设置。

1.运行此命令可以下载DockerComposed当前的稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

1

1

2.将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

1

1

注*如果命令docker-compose安装后失败,请检查您的路径。您还可以创建一个指向/usr/bin或者路径中的任何其他目录。

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

3.测试安装

输入下面代码,如果安装成功则会显示安装的版本号。

$ docker-compose --version

1

1