一、前言
Hi,这里是爱睡觉的老岳😀,最近发现国内的开源发展态势越来越好🚀,越来越多人开始投入大量时间到开源事业中💥,小弟不才,空有“开源”之心,只能完成一些简单的开源社区任务。为了推广OSS,本文会从不同领域列举多个值得一看的Go开源项目💜,如果反响较好,一定会给大家介绍更多开源项目💚。
二、云原生
2.1 Aeraki
🏡仓库地址:github.com/aeraki-mesh…
Aeraki 在希腊语中的意思和汉语中的 ”微风“差不多 。该项目提供了一种非侵入的、高度可扩展的解决方案来管理服务网格中的非HTTP的7层流量。它一般用来与Istio 集成,当然未来可能也会给其他服务网格带来“微风”。
2.2 Kubernetes (K8s)
🏡仓库地址:github.com/kubernetes/…
Kubernetes,也称为k8s或“ Kube ”,是一种容器编排工具,支持[容器运行管理和规模化。
通过使用 Kubernetes,免去了部署容器化应用等手动流程,让所有Docker 容器主机都可以拥有集群化、负载伸缩、冗余机制。
2.3 KubeVela
🏡仓库地址:github.com/kubevela/ku…
开发者在将应用程序部署到 K8s 时,通常需要了解 pod、服务、入口、资源请求、CRD 等概念,而要全部了解它们绝非易事。 KubeVela 能够让这些工作的工作量最小化,开发人员只需要管理一个名为 Appfile 的配置文件,无需了解太多复杂的 K8s 配置即可部署。
2.4 istio
🏡仓库地址:github.com/istio/istio
Istio 由两个组件组成,data plane和control plane。
data plane使用Sidecar将Envoy 代理容器与应用程序一起部署。然后Envoy 代理会拦截应用程序的所有流量来让服务之间进行通信。
control plane管理配置,从data plane接收指标,并通过 Envoy 代理提供的 API 动态更改配置。让data plane可以在不重新启动服务器的情况下改变进程。
三、区块链
3.1 ChainMaker
🏡仓库地址:git.chainmaker.org.cn/
它是国内首个自主可控区块链软硬件一体技术体系,拥有自主可控的底层平台、完整便捷的配套工具、标准化下的开放生态、灵活高效的装配模式以及国际领先的处理性能。
其使用国密算法。拥有基于国密证书的加密通讯和国产CA。开源协议友好,是Apache License 2.0开源协议。性能强大,具备高并发、低延时、大规模节点组网等先进技术优势,交易吞吐能力可达10万TPS。长安链将区块链执行流程标准化、模块化,可插拔、可分离的自主可控核心框架,可快速接入优势底层模块/单一定制化开发模块。
3.2 go-ethereum/Geth
🏡仓库地址:github.com/ethereum/go…
Geth 是以太坊官方提供的客户端软件,是 Go Ethereum 的缩写,它是使用以太坊的最常用的客户端软件。可以安装 Geth 作为全节点加入以太坊网络。
3.3 ChainLink
🏡仓库地址:github.com/smartcontra…
ChainLink的存在主要是为了给多个数据输入和输出建立一个存取点,这些输入和输出的数据比如:支付服务、银行和区块链系统等。
ChainLink能够放入各种数据,不限于支付服务和银行服务,还可以使用NBA总冠军球队等数据。它能够发挥数据传输的角色,传输区块链中不存在的链外数据。
四、Go & 数据库
4.1 MySQL
🏡仓库地址:github.com/go-sql-driv…
Go database/sql包 的 MySQL 驱动程序。
该包有以下几点特性:
- 轻巧便捷
- 纯Go实现
- 能够自动处理断开的连接
- 支持大于 16MB 的查询
4.2 TiDB
🏡仓库地址:github.com/pingcap/tid…
要介绍这个数据库,先介绍一下什么是NewSQL:
NewSQL 是一个新的数据库,它充分发挥了 RDBMS 和 NoSQL 的优点。除了 NoSQL 灵活的可扩展性和分布式架构之外,它同时支持 RDBMS 特有的 ACID 事务。
TiDB 是一个开源(apache2.0)云原生 NewSQL 数据库。
它的以下几点特性:
- 同时支持OLTP(在线事务处理)和OLAP(在线分析处理):可以将目前使用的DWH产品与TiDB合二为一来实现HTAP(混合事务处理)
- 横向扩展架构,不受数据库规模的限制:数据库可根据服务规模扩展/收缩,而不会中断服务
- 多平台支持:可在本地部署,也可部署在云环境(AWS、GCP、Azure)中。
- 提供 TiDB Cloud,完全托管的服务:TiDB Cloud 由 PingCAP 管理,因此不必再担心服务器配置、扩展、故障转移等。
4.3 MongoDB Go Driver
🏡仓库地址:github.com/mongodb/mon…
MongoDB的一款开源 Go 驱动,中规中矩的。有人说mgo也不错,其实mgo貌似挺久没人维护了,这里有一篇好文,将mgo和mongo-go-driver使用进行了比较:segmentfault.com/a/119000002…。
五、Web框架及相关组件
5.1 Beego
🏡仓库地址:github.com/beego/beego
Beego 它的灵感来自 Tornado、Sinatra 和 Flask。Beego 是一个 RESTful HTTP 框架,用于快速开发 Go 语言企业应用程序,例如 RESTful API、Web 应用程序和后端服务。它集成了 Go 语言特定的功能,例如接口和结构嵌入。
5.2 Gin
🏡仓库地址:github.com/gin-gonic/g…
Gin 是一个用 Go (Golang) 编写的 Web 框架。gin 是一个非常轻量级的框架,不像 laravel 和 Django 这样的全栈框架,它拥有Martini风格 的 API,并且性能强大。
六、后语
不说了,不说了。就到此为止吧,再说就不礼貌了,睡觉去了。
⛵️ 欢迎大家关注我的Go专栏: 【让我们一起Golang】
还有区块链专栏:【细讲区块链】也欢迎大家来看看哦~
掰掰,睡午觉去啦~欢迎给爱睡觉的老岳点个赞。
本文正在参加技术专题18期-聊聊Go语言框架