分享十个优秀的 Go 类库


当前第2页 返回上一页

在一些公司中,修改数据库模式被认为是一种「可怕」的更改。goose 包帮助你更改模式,甚至在需要时进行数据迁移。 你可以随意的 goose upgoose down 。不过要注意你的数据,确保它不会丢失或损坏。

Goose 的工作方式是对模式进行版本控制,并使用与每个模式对应的迁移文件。迁移文件可以使用 SQL 命令 或 Go 命令。下面是一个添加新表的 SQL 迁移文件示例:

8. Ginkgo

Ginkgo 是一个 BDD (行为驱动开发) 测试框架。它可以让你使用类似于英语的语法编写测试,并可以让不太懂技术的人来检查测试(与输出),并验证它们是否符合业务要求。

一些开发者也喜欢这种风格的测试规范。它与 Go 的内置测试包集成,并经常与 Gomega 结合使用。

9. Etcd

Etcd 是可靠的分布式键值存储。该服务器在 Go 中实现,并且 Go 客户端通过 gRPC 与之交互。

它着重在以下方面:

  • 简单: 良好定义的, 面向用户的 API (gRPC).

  • 安全: 自动 TLS 与可选的客户端证书身份验证。

  • 快速: 基准测试 10,000 写入/秒。

  • 可靠: 使用 Raft 合理分配。

10. NSQ

NSQ 是一个很好的分布式队列。我已经成功地使用它作为一个大型分布式系统的主要组成部分。以下是其一些功能:

  • 支持分布式拓扑并且没有 SPOF。

  • 水平可扩展 (没有代理,可以无缝地向群集添加更多节点)。

  • 低延迟基于推送的消息传递(性能)。

  • 组合负载均衡和多播消息路由方式。

  • 在流(高吞吐量)和面向工作(低吞吐量)的工作负载下均具有 Excel

  • 主要在内存中(超出高水位标记的消息透明地保留在磁盘上)。

  • 供消费者查找生产者的运行时发现服务(nsqlookupd)。

  • 传输层安全 (TLS)。

  • 数据格式检测。

  • 很少有依赖项(易于部署)和合理,有界的默认配置。

  • 简单的TCP协议支持客户端库中的任何一种语言。

  • 用于统计信息,管理操作和生产者的 HTTP 接口(无需发布客户端库)。

  • 与 statsd 集成,实现实时检测。

  • 健壮的集群管理接口( nsqadmin )。

推荐教程:《Go教程》

以上就是分享十个优秀的 Go 类库的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Golang吉祥物是啥?

Golang的堆栈怎么看

20 Golang中使用第三方包

Go cassandra 示例2

手撸Golang etcd raft协议之2

[系列] - Go-gin-api 路由中间件 - 日志记录(三)

now扩展-Go的时间工具箱

Go语言开发分布式任务调度 轻松搞定高性能crontab

带你理解Golang mysql数据库连接池

快看!Go-carbon 1.2.2 版本发布了!新增了时间设置和时间差比较功能

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...