设为首页 | 收藏本站欢迎来到卓越网络免费免备案CDN加速,DDoS和CC攻击防御,高防CDN管理平台!

已阅读

我们为什么要学习Go语言与cdn加速平台搭建?

作者:cdnfine      来源:cdnfine      发布时间:2019-05-07

    在这篇文章中,我不会教你如何用Go语言打印出“Hello World”,我只想要告诉你,为什么要学习一门函数式编程语言(Go)。

 

大势所趋

 

    在过去的几年里,有一种新的编程语言的热度在持续的上涨,他就是Go或者叫Golang。推荐阅读:《免费CDN服务|前端面经笔记

    如何证明Go的热度在持续上涨呢?下面来介绍一款工具:Google trend,它是google利用自身优势,通过对搜索关键词进行统计分析,根据单词频率分析特定时期某类事物发展趋势的一款分析工具。

下面我们来用Google trend来分析一下从2004发布至今Golang的发展趋势

我们为什么要学习Go语言与cdn加速平台搭建?

    可以看出,从2004年发布,在2008年至今,Go语言的发展趋势一直处在稳步上升的阶段。

    在全世界的上升趋势很好,但是并不代表在中国的发展趋势就好,就像微软的Net C#一样,在中国的发展趋势跟Java相比差了太多了。那下面我们就来看一下Go语言在中国区域的统计信息:

我们为什么要学习Go语言与cdn加速平台搭建?

    从上图可以看出,Golang在中国区域从2013年之后,也一直处于稳步上升的趋势。

    除了Google趋势分析,下面我们来看看最近一段时间Go在TIOBE语言榜上的表现:

我们为什么要学习Go语言与cdn加速平台搭建?

呃?怎么才十九名,好紧张,这是要被自己打脸了吗?先找几个理由挽回一下局面吧!

    首先,Golang是一门非常年轻的语言,仅用十年时间就从世界上数以千计的编程语言中脱颖而出,发展速度迅猛。诸如Java、Python、PHP、Javascript都和我一样处在了奔三的路上,近30载的发展才有当前的生态与地位;

    其次,Golang在2018年的最好成绩曾到达过前十名,这个成绩足以说明golang的流行程度。而且排名存在浮动也是很正常的事情,Golang这些年稳步的发展趋势还不能给我们足够的信心吗?

    所以,通过以上的数据分析,我们得到了一些结论,Go语言的发展趋势很好,不过趋势很好,就认为稳赢,显然这是很不合理的。所以,我们还需要分析一些更层次的原因。

 

背景历史

 

    Golang诞生于Google,有大厂背景,毕竟跟着巨人的脚步一般是不会走错方向的,就像google的Android开发。并且开发Go语言的最核心开发人员分别是Ken Thompson、Rob Pike、Robert Griesemer。

看到名字是不是一脸懵逼,不认识没关系,肯定是大牛中的大牛,下面介绍一下他们的成就你就可以开始膜拜了,

  • Robert Griesemer,参与开发了 Java HotSpot 虚拟机和Javascript的Chrome V8引擎;

  • Ken Thompson,C和B语言的设计者、Unix创始人之一,操作系统Plan 9的主要作者,1983年图灵奖得主;

  • Rob Pike,UTF8的主要设计者,与Ken Tompson为贝尔实验室的同事,共同参与了Plan9。而且Golang的logo,据说是囊地鼠,英文gopher,就是Rob Pike的妻子设计的;

都是如此这般牛人坐镇,可见golang的层次已经高出其他语言很多个台阶了。

    说到这里,你有没有一点感觉到学习Go语言的必要性了,如果没有也没关系,下面我们继续看一下使用Go语言开发的优秀项目,相信看了下面这么多优秀的项目,你应该对Go语言增添几分兴趣,到时也成为一名大牛,改变互联网。

 

优秀项目

 

  • docker,golang头号优秀项目,通过虚拟化技术实现的操作系统与应用的隔离,也称为容器;

  • kubernetes,由google开发,简称k8s,k8s和docker是当前容器化技术的重要基础设施;

  • etcd,一种可靠的分布式KV存储系统,有点类似于zookeeper,可用于快速的云配置;

  • codis,由国人开发提供的一套优秀的redis分布式解决方案;

  • tidb,国内PingCAP 团队开发的一个分布式SQL 数据库,国内很多互联网公司在使用;

  • influxdb,时序型DB,着力于高性能查询与存储时序型数据,常用于系统监控与金融领域;

  • cockroachdb,云原生分布式数据库,继NoSQL之后出现的新的概念,称为NewSQL数据库;

  • beego,国人开发的一款及其轻量级、高可伸缩性和高性能的web应用框架;

  • caddy,类比于nginx,一款开源的,支持HTTP/2的 Web 服务端;

  • flynn,一款开源的paas平台;

  • consul,HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置;

  • go-kit,Golang相关的微服务框架,这类框架还有go-micro、typthon;

  • go-ethereum,官方开发的以太坊协议实现;

  • couchbase,是一个非关系型数据库;

  • nsq,一款高性能、高可用消息队列系统,每天能处理数十亿条的消息;

  • packer,一款用来生成不同平台的镜像文件的工具,例如VM、vbox、AWS等;

  • doozer:高速的分布式数据同步服务,类似ZooKeeper;

  • tsuru:开源的PAAS平台,和SAE实现的功能一模一样;

  • gor:一款用Go语言实现的简单的http流量复制工具;

    如果上面这么多优秀项目还没有打动你,那下面我们再继续看看Go的应用领域,有没有跟最近最火的区块链、微服务、云服务、分布式有关。

答案当然是:当然有关

区块链

    当前的两个主流区块链框架,分布式记账本框架hyperledger和以太坊合约框架go-ethereum都是使用Golang开发;下图是某招聘网站关于区块链职位要求技能的分析。

我们为什么要学习Go语言与cdn加速平台搭建?

微服务

    现在越来越多的项目会采用微服务架构,前面介绍的优秀项目中也看到很多go提供的微服务框架,如git-kit、micro等。中国最火的今日头条就是使用Golang构建千万级的微服务,如果你想以后进入今日头条,可以选择学习Go,但是学习Go并不能保证进今日头条啊!据我所知,今日头条对算法要求很高。

云服务

 

    云服务,如国内著名的七牛云全站采用Golang开发;还有如盛大CDN、阿里云CDN等;很多的云平台基础设施如docker、kubernetes等为Golang开发;京东的消息推送与分布式存储也是如此;

 

分布式

 

    诸如数据库中间件、代理服务等很多采用Golang开发,比如前面的介绍codis、cockroachdb、etcd等;

 

总结

    说了这么多,你有没有一点想要开始学习Go语言的兴趣,如果有的话,那么接下来,我们一起在这里一起学习,一起进步,一起成功。

Keywords: 免费CDN加速 免备案CDN加速 高防CDN加速