管理进化

golang语言适合做什么


golang可以做服务器端开发。golang很适合做日志处理、数据打包、虚拟机处理、数据库代理等工作。在网络编程方面,它还广泛应用于web应用、API应用等领域。

一、应用

Golang的应用方向:

区块链技术:简称BT

Blockchain technoglogy,也被称为分布式账本技术,是一-种互联网数据库技术,其特点是去中心化,公开透明,让每个人均可参与数据库记录。

后端服务器应用:

支撑主站后台流量(排序,推荐,搜索等),提供负载均衡, cache, 容错,按条件分流,统计运行指标美团

云计算/云服务的后台应用:

CDN的调度系统,分发系统,监控系统,短域名服务,CDN内部开放平台,运营报表系统以及其他一些小工具等。

golang,也就是我们熟知的go语言的全称。Go语言是谷歌发布的第二款开源编程语言。专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。

Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

二、Go语言成功案例

Nsq:Nsq 是由Go语言开发的高性能、高可用消息队列系统,性能非常高,每天能处理数十亿条的消息;

Docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建。

Packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者

Skynet:分布式调度框架

Doozer:分布式同步工具,类似ZooKeeper

Heka:mazila开源的日志处理系统

Cbfs:couchbase开源的分布式文件系统

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

Groupcache:memcahe作者写的用于Google下载系统的缓存系统

God:类似redis的缓存系统,但是支持分布式和扩展性

Gor:网络流量抓包和重放工具

智齿客服