将想要的状态,
以“彩色”在大脑中呈现!

分布式系统

ProMonkey阅读(296)

分布式系统

有助于构建分布式系统的软件包。

  • celeriac - 用于在Go中添加支持以交互和监视Celery工作者,任务和事件的库。
  • consistent - 具有受限负载的一致哈希
  • dht - BitTorrent Kademlia DHT实施。
  • digota - grpc电子商务微服务。
  • dot - 使用操作转换/ OT进行分布式同步。
  • doublejump - 改进后的Google的跳转一致性哈希。
  • dragonboat - Go中功能齐全的高性能多组Raft库。
  • drmaa - 基于DRMAA标准的集群调度程序的作业提交库。
  • dynamolock - DynamoDB支持的分布式锁定实现。
  • dynatomic - 将DynamoDB用作原子计数器的库。
  • emitter-io - 使用MQTT,Websockets和love构建的高性能,分布式,安全和低延迟的发布-订阅平台。
  • flowgraph - 基于流的编程包。
  • gleam - 用纯围棋和Luajit快速和可扩展的分布式的map / reduce系统,具有Luajit的高性能结合Go的高并发,单独运行或分发。
  • glow - 易于使用的可扩展的分布式大数据处理,Map-Reduce,DAG执行,全部在纯Go中进行。
  • go-health - health-用于在服务中启用异步依赖项运行状况检查的库。
  • go-jump - Google的“ Jump”一致性哈希函数的端口。
  • go-kit -支持服务发现,负载平衡,可插拔传输,请求跟踪等的微服务工具包
  • go-sundheit - 建立用于支持为golang服务定义异步服务运行状况检查的库。
  • gorpc - 简单,快速和可扩展的RPC库,可实现高负载。
  • grpc-go - gRPC的Go语言实现。基于HTTP / 2的RPC。
  • hprose - 十分新颖的RPC库,现在支持25种以上的语言。
  • jsonrpc - jsonrpc软件包可帮助实现JSON-RPC 2.0。
  • jsonrpc - JSON-RPC 2.0 HTTP客户端实现。
  • KrakenD - 具有中间件的超高性能API网关框架。
  • liftbridge - NATS的轻量级,容错消息流。
  • micro - 可插拔的microService工具箱和分布式系统平台。
  • NATS - 用于微服务,IoT和云本机系统的轻量级高性能消息传递系统。
  • outboxer - Outboxer是一个实现库模式的go库。
  • pglock - PostgreSQL支持的分布式锁定实现。
  • raft - HashiCorp的Raft共识协议的Golang实现。
  • raft - 围棋实施筏一致协议,由CoreOS的。
  • rain - BitTorrent客户端和库。
  • redis-lock - 使用Redis的简化分布式锁定实现。
  • resgate - 用于构建REST,实时和RPC API的实时API网关,其中所有客户端都可以无缝同步。
  • ringpop-go - Go应用程序的可扩展,容错应用程序层分片。
  • rpcx - 分布式可插拔RPC服务框架,例如阿里巴巴Dubbo。
  • sleuth - 用于在HTTP服务之间进行无主p2p自动发现和RPC的库(ZeroMQ)。
  • tendermint - 高性能中间件,用于使用Tendermint共识和区块链协议将以任何编程语言编写的状态机转换为拜占庭容错复制状态机。
  • torrent - BitTorrent客户端软件包。

数据库驱动 多个后端

ProMonkey阅读(302)

多个后端

  • cachego - 用于多个驱动程序的Golang缓存组件。
  • cayley - 支持多个后端的Graph数据库。
  • dsc - SQL,NoSQL,结构化文件的数据存储连接。
  • gokv - Go的简单键值存储抽象和实现(Redis,Consul,etcd,bbolt,BadgerDB,LevelDB,Memcached,DynamoDB,S3,PostgreSQL,MongoDB,CockroachDB等)。

数据库驱动 关系数据库

ProMonkey阅读(300)

关系数据库

  • avatica - 用于数据库/ sql的Apache Avatica / Phoenix SQL驱动程序。
  • bgc - BigQuery的数据存储连接。
  • firebirdsql - Go的Firebird RDBMS SQL驱动程序。
  • go-adodb - 用于使用数据库/ sql的go的Microsoft ActiveX对象数据库驱动程序。
  • go-mssqldb - Go的Microsoft MSSQL驱动程序。
  • go-oci8 - 使用数据库/ sql的go的Oracle驱动程序。
  • go-sql-driver/mysql - Go的MySQL驱动程序
  • go-sqlite3 - 使用数据库/ sql的go的SQLite3驱动程序。
  • gofreetds - Microsoft MSSQL驱动程序。在FreeTDS上进行包装。
  • goracle - 使用ODPI-C驱动程序的Go的Oracle驱动程序。
  • pgx - PostgreSQL驱动程序支持的功能超出了数据库/ sql所公开的功能。
  • pq - 用于数据库/ sql的Pure Go Postgres驱动程序。

数据库驱动 NoSQL数据库

ProMonkey阅读(304)

NoSQL数据库

  • aerospike-client-go - Go语言的Aerospike客户端。
  • arangolite - ArangoDB的轻量级golang驱动程序。
  • asc - 数据存储连通性的塞式走。
  • dynago - Dynago是DynamoDB的最少惊喜客户端的原则。
  • forestdb - 森林数据库的绑定。
  • go-couchbase - Go中的Couchbase客户端。
  • go-pilosa - Pilosa的 Go客户库。
  • go-rejson - 使用Redigo golang客户端的RedislabsReJSON模块的Golang客户端。轻松将结构作为JSON对象存储和操作在Redis中。
  • gocb - 官方Couchbase Go SDK。
  • gocql - Apache Cassandra的Go语言驱动程序。
  • godis - 受jedis启发,golang的redis客户端实现。
  • godscache - Google Cloud Platform Go数据存储区程序包的包装,可使用memcached添加缓存。
  • gomemcache - Go编程语言的memcache客户端库。
  • gorethink - RethinkDB的 Go语言驱动程序。
  • goriak - Riak KV的Go语言驱动程序。
  • mgo - (无需维护)用于Go语言的MongoDB驱动程序,该驱动程序遵循标准的Go习惯用法,通过非常简单的API来实现丰富且经过测试的功能选择。
  • mongo-go-driver - Go语言的官方MongoDB驱动程序。
  • neo4j - 用于Golang的Neo4j Rest API绑定。
  • Neo4j-GO - golang中的Neo4j REST客户端。
  • neoism -Golang的 Neo4j客户。
  • redeo - 与Redis协议兼容的TCP服务器/服务。
  • redigo - Redigo是Redis数据库的Go客户端。
  • redis - Golang的Redis客户端
  • xredis - 类型安全,可自定义,干净且易于使用的Redis客户端。

数据库 SQL查询构建器

ProMonkey阅读(298)

SQL查询构建器

用于构建和使用SQL的库。

  • dbq - Go的零样板数据库操作。
  • Dotsql - Go库,可帮助您将sql文件保存在一个位置并轻松使用它们。
  • gendry - 非侵入性SQL构建器和强大的数据绑定器。
  • godbal - go的数据库抽象层(dbal)。支持SQL Builder,轻松获得结果。
  • goqu - 惯用的 SQL构建器和查询库。
  • igor - PostgreSQL的抽象层,支持高级功能并使用类似于gorm的语法。
  • jet - 框架写在Go类型安全的SQL查询,有能力轻松地转换数据库查询结果到期望的任意对象结构。
  • ormlite - 轻量级软件包,包含一些类似于ORM的功能和sqlite数据库的帮助程序。
  • ozzo-dbx - 强大的数据检索方法以及与数据库无关的查询构建功能。
  • qry - 使用原始SQL查询从文件生成常量的工具。
  • scaneo - 生成Go代码以将数据库行转换为任意结构。
  • sqlf - 快速的SQL查询生成器。
  • sqrl - SQL查询生成器,Squirrel的分支,具有改进的性能。
  • Squalus - Go SQL包上的薄层,使执行查询更加容易。
  • Squirrel - Go库,可帮助您构建SQL查询。
  • xo - 根据现有的架构定义或支持PostgreSQL,MySQL,SQLite,Oracle和Microsoft SQL Server的自定义查询为数据库生成惯用的Go代码。

数据库 数据库架构迁移

ProMonkey阅读(307)

数据库架构迁移

  • avro - 发现SQL模式并将其转换为AVRO模式。将SQL记录查询为AVRO字节。
  • darwin - Go的数据库架构演化库
  • go-fixtures - Golang出色的内置数据库/ sql库的Django样式的夹具。
  • go-pg-migrations - 一个Go软件包,可帮助使用go-pg / pg编写迁移。
  • gondolier - 使用结构修饰符的数据库迁移库。
  • goose - 数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的演变。
  • gormigrate - Gorm ORM的数据库架构迁移帮助器。
  • migrate - 数据库迁移。CLI和Golang库。
  • migrator - 简单的Go数据库迁移库。
  • pravasan - 简单迁移工具-当前用于MySQL,但计划很快支持Postgres,SQLite,MongoDB等。
  • schema - 用于在Go二进制文件中嵌入数据库/ sql兼容数据库的模式迁移的库。
  • skeema - MySQL的纯SQL模式管理系统,支持分片和外部在线模式更改工具。
  • soda - 用于MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等。
  • sql-migrate - 数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。

数据库 数据库工具

ProMonkey阅读(303)

数据库工具

  • bucket - 为Couchbase优化数据结构框架,专门在一个水桶使用。
  • chproxy - ClickHouse数据库的HTTP代理。
  • clickhouse-bulk - 收集小的广告素材并将大的请求发送到ClickHouse服务器。
  • datagen - 可以识别多表并支持多行DML的快速数据生成器。
  • dbbench - 数据库基准测试工具,支持多个数据库和脚本。
  • go-mysql - Go工具集,用于处理MySQL协议和复制。
  • go-mysql-elasticsearch - elasticsearch-自动将您的MySQL数据同步到Elasticsearch。
  • kingshard - kingshard是由Golang支持的MySQL的高性能代理。
  • myreplication - MySql二进制日志复制侦听器。支持基于语句和行的复制。
  • octillery - 用于分片数据库的Go软件包(支持每个ORM或原始SQL)。
  • orchestrator - MySQL复制拓扑管理器和可视化器。
  • pgweb - 基于Web的PostgreSQL数据库浏览器。
  • prep - 使用准备好的SQL语句而不更改代码。
  • pREST - 从任何PostgreSQL数据库提供RESTful API。
  • rwdb - rwdb为多个数据库服务器设置提供只读副本功能。
  • vitess - vitess提供了有助于大规模数据库服务扩展MySQL数据库的服务器和工具。

数据结构

ProMonkey阅读(291)

数据结构

Go中的通用数据结构和算法。

  • algorithms - 算法和数据结构。CLRS研究。
  • binpacker - 二进制打包程序和解包程序可帮助用户构建自定义二进制流。
  • bit - 具有额外的位旋转功能的Golang设置数据结构。
  • bitset - 实现位集的Go包。
  • bloom - 在Go中实现的Bloom过滤器。
  • bloom - Golang Bloom过滤器实现。
  • boomfilters - 用于处理连续无界流的概率数据结构。
  • concurrent-writer -高并发直接替换bufio.Writer。
  • conjungo - 一个小型,强大而灵活的合并库。
  • count-min-log - 执行Count-Min-Log草图:使用近似计数器进行近似计数(类似于Count-Min草图,但使用较少的内存)。
  • crunch - Go包实现了用于轻松处理各种数据类型的缓冲区。
  • cuckoofilter - Cuckoo过滤器:是Go中实现的计数布隆过滤器的很好替代。
  • deque - 高度优化的双端队列。
  • deque - 快速的环形缓冲区双端队列(双端队列)。
  • dict - Go的类似Python的字典(dict)。
  • encoding - Go的整数压缩库。
  • go-adaptive-radix-tree - 自适应基数树的 Go实现。
  • go-datastructures - 有用,高性能和线程安全的数据结构的集合。
  • go-ef - Elias-Fano编码的Go实现。
  • go-geoindex - 内存中的地理索引。
  • go-mcache - 快速内存键:值存储/缓存库。指针缓存。
  • go-rquad - 具有有效点定位和邻居发现功能的区域四叉树。
  • gocache - 具有多个存储(内存,memcache,redis等),可链接,可加载,指标缓存等的完整Go缓存库。
  • goconcurrentqueue - 并发FIFO队列。
  • gods - 数据结构。容器,集合,列表,堆栈,地图,BidiMap,树,HashSet等。
  • gofal - Go的小数api。
  • golang-set - Go的线程安全和非线程安全高性能集。
  • goset - Go的有用的Set集合实现。
  • goskiplist - Go中的跳过列表实现。
  • gota - Go的数据框,序列和数据整理方法的实现。
  • hide - ID类型,将其编组进/出哈希以防止将ID发送给客户端。
  • hilbert - Go程序包,用于在空间填充曲线(例如Hilbert和Peano曲线)之间映射值。
  • hyperloglog - HyperLogLog实施,具有稀疏,LogLog-Beta偏差校正和TailCut空间减少功能。
  • iter - C ++ STL迭代器和算法的实现。
  • levenshtein - Levenshtein距离和相似性度量标准,具有可自定义的编辑费用和通用前缀的类似于Winkler的奖金。
  • levenshtein - 在Go中计算levenshtein距离的实现。
  • mafsa - 具有最小完美散列的MA-FSA实现。
  • merkletree - merkle树的实现,可对数据结构的内容进行有效且安全的验证。
  • mspm - 用于信息检索的多字符串模式匹配算法。
  • null - 可空转到类型,可以被编组/解组到/从JSON。
  • parsefields - 用于解析类似JSON的日志的工具,以收集唯一的字段和事件。
  • pipeline - 具有扇入和扇出的管线的实现。
  • ptrie - 前缀树的实现。
  • remember-go - 缓存慢速数据库查询的通用接口(由redis,memcached,ristretto或内存支持)。
  • ring - 围棋实现了高性能,线程安全的布隆过滤器。
  • roaring - 实施压缩位集的软件包。
  • set - 使用LinkedHashMap的围棋设置简单的数据结构实现。
  • skiplist - 非常快的Go Skiplist实施。
  • skiplist - Go中的跳过列表实现。
  • timedmap - 具有过期的键/值对的地图。
  • treap - 使用树堆的持久快速排序的地图。
  • trie - Go中的Trie实现。
  • ttlcache - 内存中的LRU字符串接口{}映射,其中包含golang的到期时间。
  • typ - 空类型,安全的原始类型转换和从复杂结构中获取值。
  • willf/bloom - Go包实现Bloom过滤器。

数据库

ProMonkey阅读(338)

数据库

Go中实现的数据库。

  • badger - Go中的快速键值存储。
  • bcache - 最终一致的分布式内存缓存Go库。
  • BigCache - 高效的键/值缓存,用于千兆字节的数据。
  • Bitcask - Bitcask是使用纯Go编写的可嵌入,持久且快速的键值(KV)数据库,由于具有bitcask磁盘布局(LSM + WAL),因此具有可预测的读/写性能,低延迟和高吞吐量。
  • bolt - Go的低级键/值数据库。
  • buntdb - 用于Go的快速,可嵌入的内存中键/值数据库,具有自定义索引和空间支持。
  • cache - 内存中键:具有到期时间,0个依存关系,<100 LoC,100%覆盖率的值存储。
  • cache2go - 内存键:值缓存,支持基于超时的自动失效。
  • clusteredBigCache - 具有集群支持和单个项到期的BigCache。
  • cockroach - 可扩展,地理复制,事务性数据存储。
  • Coffer - 支持事务的简单ACID键值数据库。
  • couchcache - 由Couchbase服务器支持的RESTful缓存微服务。
  • CovenantSQL - CovenantSQL是区块链上的SQL数据库。
  • dgraph - 可伸缩,分布式,低延迟,高吞吐量图形数据库。
  • diskv - 本地磁盘支持的键值存储。
  • eliasdb - 具有REST API,短语搜索和类似SQL的查询语言的无依赖关系的事务图数据库。
  • fastcache - 快速线程安全的内存高速缓存,用于大量条目。最大限度地减少GC开销。
  • GCache - 缓存库,支持过期的缓存,LFU,LRU和ARC。
  • go-cache - Go的内存中键:值存储/缓存(类似于Memcached)库,适用于单机应用程序。
  • goleveldb - Go中LevelDB键/值数据库的实现。
  • gorocksdb - Gorocksdb是用Go编写的 RocksDB 的包装。
  • groupcache - Groupcache是​​一个缓存和缓存填充库,在许多情况下可以替代memcached。
  • influxdb - 可扩展的数据存储区,用于指标,事件和实时分析。
  • Kivik - Kivik为CouchDB,PouchDB和类似数据库提供了通用的Go和GopherJS客户端库。
  • ledisdb - Ledisdb是像基于LevelDB的Redis一样的高性能NoSQL。
  • levigo - Levigo是LevelDB的Go包装器。
  • moss - Moss是用100%Go编写的简单LSM键值存储引擎。
  • nutsdb - Nutsdb是用纯Go编写的简单,快速,可嵌入,持久的键/值存储。它支持完全可序列化的事务和许多数据结构,例如列表,集合,排序集合。
  • piladb - 基于堆栈数据结构的轻量级RESTful数据库引擎。
  • prometheus - 监视系统和时间序列数据库。
  • pudge - 使用Go的标准库编写的快速简单的键/值存储。
  • rqlite - 基于SQLite构建的轻型,分布式,关系数据库。
  • Scribble - 小型平面文件JSON存储。
  • slowpoke - 具有持久性的键值存储。
  • tempdb - 临时项目的键值存储。
  • tidb - TiDB是分布式SQL数据库。受到Google F1设计的启发。
  • tiedot - 由Golang提供支持的NoSQL数据库。
  • Vasto - 分布式高性能键值存储。在磁盘上。最终一致。哈。能够增长或收缩而不会中断服务。
  • VictoriaMetrics - 快速,资源有效且可扩展的开源时间序列数据库。可用作Prometheus的长期远程存储。支持PromQL。

聚合实用在线工具

前往在线工具