Go语言诞生5周年!10大Go语言开源项目推荐

2024-09-01 20:58

本文主要是介绍Go语言诞生5周年!10大Go语言开源项目推荐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2014年11月,Golang官方博客发布文章 ,以纪念Go语言发布5周年。文章称,Go语言在云计算时代找到了位置,预言“2015年将是Go语言急剧发展之年”。

2014年11月,Golang官方博客发布Go语言核心开发组成员Andrew Gerrand文章 《Half a decade with Go》,以纪念Go语言发布5周年。Andrew Gerrand在文章中称,Go语言在工业界向云计算转型时代找到了自己的位置,目前一些重量级的云计算项目比如有名的Docker等都是用Go语言开发的,并预言“2015年将是Go语言急剧发展之年”(“ 2015 will be Go's biggest year yet.”)。

Go语言:制霸云计算时代

从国内Go语言发展和应用来看,七牛算是国内第一家选Go语言做服务端的公司。在前段时间,《技术人攻略》对七牛CEO许式伟所做的一篇深度采访( 采访原文)中,许式伟对“为何早在2011年Go语法还没完全稳定下来的情况下选择Go作为存储服务端的主体语言”给出自己的解释。许式伟谈到说:

编程哲学的重塑是Go语言独树一帜的根本原因,其它语言仍难以摆脱OOP或函数式编程的烙印,只有Go完全放弃了这些,对编程范式重新思考,对热门的面向对象编程提供极度简约但却完备的支持。Go是互联网时代的C语言,不仅会制霸云计算,10年内将会制霸整个IT领域。 

前不久,Facebook也开源了很多Go语言库,可前往 GitHub托管地址查看。 

10大流行Go语言开源项目

适逢Go语言诞生5周年之际,外媒JavaWorld也发布文章,整理了由Go语言开发的10大流行开源项目。Go语言目前从虚拟化到Git代码托管服务等方面,都有重量级项目现身,越发凸现Go语言在云计算时代的重要性。

1. Docker

到现在,Docker几乎是Go再难找到也难以复制的一个成功案例。Docker项目在2014年9月份就拿到了C轮4000万美元融资,版本迭代速度超快,目前从GitHub看到已有78个版本,而它仅仅是再2013年初才正式开始的一个项目而已。目前,国内Docker技术推广也进行的如火如荼,比如 Docker中文社区,CSDN也建立了 Docker专区。CSDN CODE也将在近期与Docker中文社区合作,推出Docker技术文章翻译活动,届时也请大家多多关注,及时关注与参与。

Docker团队之所以喜欢用Go语言,主要是Go具有强大的标准库、全开发环境、跨平台构建的能力。 

GitHub托管地址: https://github.com/docker/docker

2. Kubernetes

Kubernetes是2014年夏天Google推出的Kubernetes,基于Docker,其目的是让用户通过Kubernetes集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。其核心概念是Container Pod(容器仓)。

GitHub托管地址: https://github.com/GoogleCloudPlatform/kubernetes

3. Etcd & Fleet

etcd是由CoreOS开发并维护键值存储系统,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。目前,Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。详情,可了解 《Etcd:用于服务发现的键值存储系统》。 Fleet则是一个分布式的初始化系统。它们之所以选择使用Go语言,则是因为Go语言对跨平台的良好支持,以及其背后的强大社区。

GitHub托管地址: https://github.com/coreos/etcd

4. Deis

Deis是一个基于Docker和CoreOS的开源PaaS平台,旨在让部属和管理服务器上的应用变得轻松容易。它可以运行在AWS、GCE以及Openstack平台下。详情,可了解 《Deis v1.0正式发布!》。 

GitHub托管地址: https://github.com/deis/deis

5. Flynn

Flynn是一个使用Go语言编写的开源PaaS平台,可自动构建部署任何应用到Docker容器集群上运行。Flynn项目受到Y Combinator的支持,目前仍在开发中,被称为是下一代的开源PaaS平台。

GitHub托管地址: https://github.com/flynn/Flynn

6. Lime

相对上面的几款Go语言在云端和服务器端之外,Lime则显得比较特殊。Lime,则是一款用Go语言写的桌面编辑器程序,被看做是著名编辑器Sublime Text的开源实现。 

GitHub托管地址: https://github.com/limetext/lime

7. Revel

Revel是一个高生产力的Go语言Web框架。Revel框架支持热编译,当编辑、保存和刷新源码时,Revel会自动编译代码和模板;全栈特性,支持路由、参数解析、缓存、测试、国际化等功能。 

GitHub托管地址: https://github.com/revel/revel

8. InfluxDB

一个Go语音编写的开源分布式的时序、事件和指标数据库,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。 

GitHub托管地址: https://github.com/influxdb/influxdb

9. Syncthing

一款用Go语言编写的开源云存储和同步服务工具,用户的数据将由自己完全控制,所有的通信全都加密,每个访问节点都用加密证书验证。该项目被认为是Dropbox和 BitTorrent Sync的开源替代, 详情。Syncthing之所以选择Go语言,也是出于跨平台考虑。 

GitHub托管地址: https://github.com/syncthing/syncthing

10. Gogs

Gogs则是一款由国人无闻( GitHub)开发的自助Git服务项目。Gogs的目标是打造一个最简单、最快速和最轻松的方式搭建自助Git服务。据作者称,之所以选择使用Go语言开发,就是Go允许Gogs可以通过独立的二进制分发,且对跨平台有良好支持。 

GitHub托管地址: https://github.com/gogits/gogs

除了上面的10款流行Go语言项目外,我们这里另外外大家推荐几款Go语言相关的项目,如国人开发的Go Web应用框架 Beego、开源的Go语言开发环境 LiteIDE等,它们也都很流行,希望大家多多关注并支持国人开源项目。

推荐阅读:《十大正在快速演进的Docker项目》,这篇文章对本文的整理起了很大的参考作用。


本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

这篇关于Go语言诞生5周年!10大Go语言开源项目推荐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128026

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提