FeelingLife FeelingLife
首页
  • Go

    • Go基础知识
  • Python

    • Python进阶
  • 操作系统
  • 计算机网络
  • MySQL
  • 学习笔记
  • 常用到的算法
  • Docker
  • Kubernetes
  • Observability
  • 容器底层
其他技术
  • 友情链接
  • 收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

xuqil

一介帆夫
首页
  • Go

    • Go基础知识
  • Python

    • Python进阶
  • 操作系统
  • 计算机网络
  • MySQL
  • 学习笔记
  • 常用到的算法
  • Docker
  • Kubernetes
  • Observability
  • 容器底层
其他技术
  • 友情链接
  • 收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 环境部署

  • 测试

  • 反射

  • 数据库操作

  • 并发编程

  • 内存管理

  • 线程安全

  • Go 技巧

  • middleware

  • 第三方库

    • Golang 比较优秀的第三方库和项目
      • Web 开发相关
        • Web 框架
        • protobuf
        • RPC
        • DDD 框架
      • 测试
        • 单元测试
      • 配置读写
      • 日志(Log)
      • JSON 解析
      • 可视化
      • 代码分析
      • 分布式
        • ID 生成器
      • Kubernetes
      • 邮件
      • Key-Value 存储(Key-Value Store)
      • 文件系统(File System)
      • 消息队列
      • 数据库(Database)
        • Go 实现的数据库
        • 数据库迁移
        • 数据库工具
        • SQL 查询构建器,用于构建和使用 SQL 的库
      • 数据库驱动
        • 关系数据库
        • NoSQL 数据库
        • 搜索和分析数据库
      • 存储服务器(Storage Server)
  • Go各版本特性

  • 《go基础知识》
  • 第三方库
xuqil
2024-06-15
目录

Golang 比较优秀的第三方库和项目

# Golang 比较优秀第三方库和项目

# Web 开发相关

# Web 框架

  • gin (opens new window):Gin 是一个用 Go 编写的 web 框架,相信很多 gopher 都在使用
  • echo (opens new window):高性能、可扩展、简约的 Go web 框架
  • iris (opens new window):Iris 是一个快速、简单但功能齐全且非常高效的 Go 网络框架
  • fasthttp (opens new window):最快的go http服务器,不支持http2.0,有性能需求时可以考虑使用

# protobuf

  • protobuf (opens new window):官方的 protobuf 库

# RPC

  • grpc-go (opens new window):gRPC (opens new window)的 Go 实现

# DDD 框架

  • wild-workouts-go-ddd-example (opens new window):Go DDD 示例项目,旨在展示如何构建 易于开发、维护且有趣的 Go 应用程序

# 测试

# 单元测试

  • testify (opens new window):非常好用的一个测试库,提供了一组全面的测试工具,可与常规 Go 测试系统一起使用
  • mock (opens new window):单元测试利器,gomock 是 Go 编程语言的 mocking 框架
  • go-sqlmock (opens new window):sqlmock是 一个实现 sql/driver (opens new window) 的 mock 库
  • miniredis (opens new window):纯 Go Redis 测试服务器,用于 Go 单元测试

# 配置读写

  • toml (opens new window):大多数 go 程序都使用 toml 做为配置文件
  • viper (opens new window):Viper 是 Go 应用程序的完整配置解决方案,包括 12 Factor 应用程序

# 日志(Log)

  • logrus (opens new window):Logrus 是 Go 的结构化记录器,与标准库记录器完全兼容 API
  • zap (opens new window):Uber 出品的号称 Go 性能最强的 Log 库

# JSON 解析

  • json-iterator (opens new window):号称最快的 go json 解析器,跟官方的写法兼容
  • gjson (opens new window):GJSON是一个Go包,它提供了一种从json文档中获取值的快速而简单的方法。它具有单行检索、点表示路径、迭代和解析json行等功能。

# 可视化

  • go-echarts (opens new window):在 Golang 这门语言中,目前数据可视化的第三方库还是特别少,go-echarts (opens new window) 的开发就是为了填补这部分的空隙。
  • gonum/plot (opens new window):gonum/plot 是code.google.com/p/plotinum 的新的官方分支。它为在 Go 中构建和绘制绘图提供了API

# 代码分析

  • reviewdog (opens new window):reviewdog 提供了一种将评论自动发布到代码托管服务(如 GitHub)的方法,可以轻松地与任何 linter工具集成。它使用 lint 工具的输出,如果发现在不同的补丁中,则将其作为评论发布
  • revive (opens new window):快速、可配置、可扩展、灵活且美观的 Go 语言 linter。golint 的直接替代品。
  • golangci-lint (opens new window):代码质量检查分析工具
  • errcheck (opens new window):errcheck 是一个用于检查 Go 代码中未检查错误的程序
  • go-tools (opens new window):Go 编程语言最先进的 linter 。它使用静态分析来查找错误和性能问题、提供简化并强制执行样式规则
  • perf (opens new window):官方性能量化分析工具

# 分布式

# ID 生成器

  • bwmarrin/snowflake:提供了一个简单的雪花算法生成器
  • gosnowflake (opens new window):Go Snowflake 驱动程序为使用 Go 编程语言开发应用程序提供了一个接口,以连接到Snowflak 并执行所有标准操作。驱动程序实现 database/sql (opens new window)
  • sealos (opens new window): 一条命令部署 Kubernetes 高可用集群

# Kubernetes

  • kubernetes (opens new window):相信大家都知道的容器管理平台
  • k0s (opens new window):最小体积的 k8s 发行版
  • kubeeye (opens new window):通过配置规则发现 Kubernetes 上的各种问题

# 邮件

  • gomail (opens new window):Gomail是一个简单高效的电子邮件发送包。它经过了充分的测试和记录

# Key-Value 存储(Key-Value Store)

Go 实现的 Key-Value 存储

  • etcd (opens new window):可靠的分布式 key-value 存储,用于分布式系统的最关键数据
  • go-cache (opens new window):Go 语言实现的一个内存中的缓存框架,实现 Key-Value 的序列存储,适用于单台机器应用程序
  • diskv (opens new window):支持磁盘的 key-value 存储

# 文件系统(File System)

Go 实现的文件系统

  • git-lfs (opens new window):用于大文件版本控制的 Git 扩展
  • seaweedfs (opens new window):SeaweedFS 是一个用于小文件的简单且高度可扩展的分布式文件系统
  • fsnotify (opens new window):Go 实现的跨平台文件系统监控库
  • goofys (opens new window):Go 实现的高性能,POSIX-ish Amazon S3 文件系统
  • go-systemd (opens new window):systemd 的 Go 语言绑定版(包括socket activation, journal, D-Bus, 和 unit files)
  • gcsfuse (opens new window):用于与 Google 云存储交互的用户空间文件系统

# 消息队列

  • sarama (opens new window):Kafka client,依赖底层 C 使用的 Kafka client
  • kafka-go (opens new window):比较好用的纯 go 写的 Kafka client
  • go-rabbitmq (opens new window):RabbitMQ client

# 数据库(Database)

# Go 实现的数据库

  • BigCache (opens new window):用于千兆字节数据的高效 key/value 缓存
  • buntdb (opens new window):一个 Go 实现的快速、可嵌入的 key/value 内存数据库,具有自定义索引和 geospatial 支持的功能
  • cache2go (opens new window):key/value 内存缓存,支持基于超时的自动无效功能
  • cockroach (opens new window):一个可伸缩的、支持地理位置处理、支持事务处理的数据存储系统
  • dgraph (opens new window):具有可扩展、分布式、低延迟和高吞吐量功能的图形数据库
  • eliasdb (opens new window):使用 REST API,短语搜索和类似 SQL 查询语言的无依赖性,支持事务处理的图形数据库
  • GCache (opens new window):支持可用缓存、LFU、LRU 和 ARC 的缓存数据库
  • geocache (opens new window):geocache是一种内存缓存,适用于基于地理位置的应用程序。它使用地理位置作为存储项目的密钥。您可以在初始化时指定范围,仅此而已!您可以存储任何对象,它使用接口
  • goleveldb (opens new window):这是 Go 编程语言中 LevelDB key/value 数据库的一个实现。
  • groupcache (opens new window):Groupcache 是一个缓存和缓存填充库,在许多情况下用于替代 memcached
  • influxdb (opens new window):开源的分布式指标、事件和实时分析的可扩展数据库
  • ledisdb (opens new window):基于 LevelDB 类似 Redis 的高性能 NoSQL 数据库
  • pREST (opens new window):pREST(PostgreSQL REST)是一个简单的可用于生产的API,它在现有或新的Postgres数据库之上提供即时、实时和高性能的应用程序
  • prometheus (opens new window):服务监控系统和时间序列数据库
  • rqlite (opens new window):基于 SQLite 构建的轻量级、分布式关系数据库
  • tidb (opens new window):TiDB 是一个分布式 SQL 数据库,灵感来自于 Google F1 和 Google spanner。TiDB 支持包括传统 RDBMS 和 NoSQL 的特性。
  • tiedot (opens new window):基于 Go 的 NoSQL 数据库
  • Tile38 (opens new window):具有空间索引和实时地理围栏的地理位置数据库

# 数据库迁移

  • gormigrate (opens new window):Gorm ORM 的数据库迁移助手
  • migrate (opens new window):Go 实现的数据库迁移处理,支持 MySQL, PostgreSQL, Cassandra, 和 SQLite

# 数据库工具

  • go-mysql-elasticsearch (opens new window):将 MySQL 数据自动同步到 Elasticsearch 中

# SQL 查询构建器,用于构建和使用 SQL 的库

  • goqu (opens new window):Go 实现的 SQL 构建器和查询库
  • Squirrel (opens new window):帮助你构建 SQL 查询的 Go 库
  • xo (opens new window):基于现有 schema 定义或支持 PostgreSQL,MySQL,SQLite,Oracle 和 Microsoft SQL Server 的自定义查询生成数据库的惯用 Go 代码

# 数据库驱动

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

# 关系数据库

  • go-mssqldb (opens new window):Microsoft MSSQL 驱动
  • go-oci8 (opens new window):Oracle 驱动,使用 database/sql
  • go-sql-driver/mysql (opens new window):MySQL 驱动
  • go-sqlite3 (opens new window):SQLite3 驱动,使用 database/sql
  • pgx (opens new window):PostgreSQL 驱动
  • pq (opens new window):Go 实现的用于 database/sql 的 Postgres 驱动

# NoSQL 数据库

  • aerospike-client-go (opens new window):Go 实现的 Aerospike 客户端
  • cayley (opens new window):支持多个后端的图形数据库
  • gomemcache (opens new window):memcache 客户端库
  • go-redis (opens new window):Redis 客户端
  • mongo-go-driver (opens new window):mongoDB 客户端

# 搜索和分析数据库

  • bleve (opens new window):现代文本索引库
  • elastic (opens new window):Elasticsearch 客户端

# 存储服务器(Storage Server)

Go 实现的存储服务器

  • minio (opens new window): Minio 是一个与 Amazon S3 APIs 兼容的开源对象存储服务器,分布式存储方案
  • rclone (opens new window) :Rclone(“rsync for cloud storage”)是一个命令行程序,用于在不同的云存储提供商之间同步文件和目录。
  • Perkeep (opens new window):Perkeep 是你的个人存储系统:一种存储、同步、共享、建模和备份内容的方式
  • s3git (opens new window):云存储的 Git。用于数据的分布式版本控制系统
  • rook (opens new window):开放、云本地和通用的分布式存储
#go
上次更新: 2024/06/15, 06:38:57
confd编排nginx原理
Go各版本特性

← confd编排nginx原理 Go各版本特性→

最近更新
01
VXLAN互通实验
05-13
02
VXLAN
05-13
03
VLAN
05-13
更多文章>
Theme by Vdoing | Copyright © 2018-2025 FeelingLife | 粤ICP备2022093535号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式