一文带你了解优秀的Go 语言开源项目

前言

由于Go语言的发展势头越来越猛,最近整理了许多关于GO语言的开源项目,共同学习,共同交流,共同进步。

1.文件系统(File System)篇

  1. 用于大文件版本控制的 Git 扩展–git-lfs
  2. 用于小文件的简单且高度可扩展的分布式文件系统–SeaweedFS
  3. Go 实现的跨平台文件系统监控库–fsnotify
  4. Go 实现的高性能,POSIX-ish Amazon S3 文件系统–goofys
  5. 基于 Openstack 的虚拟文件系统–svfs

2.数据库(Database)篇

1.Go 实现的数据库

  1. Go 实现的低层级的 key/value 数据库–bolt
  2. Go 实现的快速、可嵌入的 key/value 内存数据库,具有自定义索引和 geospatial 支持的功能–buntdb
  3. 一个可伸缩的、支持地理位置处理、支持事务处理的数据存储系统–cockroach
  4. 具有可扩展、分布式、低延迟和高吞吐量功能的图形数据库–dgraph
  5. 使用 REST API,短语搜索和类似 SQL 查询语言的无依赖性,支持事务处理的图形数据库–eliasdb
  6. 基于 Go 的 NoSQL 数据库–tiedot
  7. 一个小型的 Flat File JSON 存储–scribble
  8. 基于 SQLite 构建的轻量级、分布式关系数据库–rqlite
  9. 为任何来自 PostgreSQL 的数据库提供一个 RESTful API–pREST

2.数据库驱动

用于连接和操作数据库的库

  1. MySQL 驱动–go-sql-driver/mysql
  2. SQLite3 驱动,使用 database/sql–go-sqlite3
  3. PostgreSQL 驱动–Pgx
  4. Go 实现的用于 database/sql 的 Postgres 驱动–Pq
  5. Oracle 驱动,使用 database/sql–go-oci8
  6. 简单强大的 Redis 客户端–redis
  7. Elasticsearch 客户端–elastic

3.数据库迁移

  1. 具有数据库迁移、创建和 ORM 等功能,适用于 MySQL, PostgreSQL, 和 SQLite–soda
  2. Go 实现的数据库迁移处理,支持 MySQL, PostgreSQL, Cassandra, 和 SQLite–migrate
  3. 数据库 schema 迁移工具。允许使用 go-bindata 将迁移嵌入到应用程序中–sql-migrate
  4. Gorm ORM 的数据库迁移助手–gormigrate

3.微服务篇

  1. go-kit/kit–Go-kit 是一个 Go 语言的分布式开发包,用于开发微服务。
  2. goadesign/goa–Goa 是一款用 Go 用于构建微服务的框架,采用独特的设计优先的方法。
  3. koding/kite–一个基于go语言的微服务框架, Kite是Koding公司内部的一个框架, 该框架提供服务发现,多种认证功能,服务端通过RPC进行通信,同时还提供了websocket的js库,方便浏览器于服务器间进行通信。

4.存储技术

  1. ipfs/go-ipfs–IPFS 是分布式文件系统,寻求连接所有计算机设备的相同文件系统。在某些方面,这很类似于原始的 Web 目标,但是 IPFS 最终会更像单个比特流群交换的 git 对象。IPFS = InterPlanetary File System。
  2. Terry-Mao/bfs–bfs 是使用 Go 编写的分布式文件系统(小文件存储)。
  3. gostor/gotgt–Gotgt 是使用 Go 编写的高性能、可扩展的 iSCSI target 服务。

5.Go Web API 利器 Faygo

Faygo 使用全新架构,是最合适开发API接口的Go Web框架。用户只需定义一个struct Handler,就能自动绑定、验证请求参数并生成在线API文档。
在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
LVS(Linux Virtual Server)是一种基于 Linux 系统的负载均衡集群技术,它主要用于将网络流量分发到多个服务器上,以提高系统的可靠性、可扩展性和性能。 LVS 集群一般包括四个组件:调度器(LVS 调度器)、前端服务器(负载均衡器)、后端服务器(真实服务器)和存储服务器(用于共享数据)。首先,调度器接收来自客户端的请求,然后根据配置的调度算法(如轮询、加权轮询、最小连接数等)将请求分发到多个前端服务器。前端服务器接收到请求后,通过相应的负载均衡算法将请求转发到后端的真实服务器上进行处理。在整个过程中,存储服务器用于存放共享的数据,以确保所有的真实服务器都能获取到相同的数据,并提供一致的服务。 LVS 集群的优点是能够提高网站的稳定性和可靠性,当某一台服务器出现故障时,调度器会自动将请求分发到其他可用的服务器上,从而保证服务的连续性。同时,LVS 集群还能够通过增加前端服务器和后端服务器的数量来提高系统的性能和吞吐量,以满足不断增长的用户需求。 在实际应用中,LVS 集群需要合理配置,包括选择合适的调度算法、调整每台服务器的权重、选择适当的硬件设备等。此外,还需要及时监控集群的运行状态,及时发现和解决故障,以确保整个系统的正常运行。 总的来说,LVS 负载均衡集群是一种强大而高效的集群技术,能够帮助企业提高系统的可靠性和性能,是现代互联网应用中不可或缺的重要组成部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kuokay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值