NATS是什么?

NATS是一个开源的消息系统,或者说消息队列。NATS的作者是Derek Collison, Apcera的作者。它起源于VMWare,最开始是一个ruby的系统。后来使用golang进行重写,逐步的成为了一个高扩展性的高性能消息系统。

为什么是NATS?

为什么不是呢?过去我使用过很多消息队列,很明显NATS是鹤立鸡群的,在过去消息系统似乎成了企业的灵丹妙药了,结果是每个人参与的每个系统都离不开消息系统。导致了很多无效的承诺、高昂的研发投入,制造出比它解决的更多的麻烦。

NATS,相比之下,就十分专注,在难以置信的简洁之下,解决了性能问题,解决了高可用行问题。它的口号是『always on and available』,使用了一种『fire and forget』的消息模式。它简单、专注、轻量的特性使它在微服务的候选中脱颖而出。我们相信,在服务间的消息传递领域,它很快会变成主要的候选者。

NATS能提供什么?

  • 高性能、高扩展
  • 高可用
  • 极致的轻量级
  • 一次部署

NATS不支持什么?

  • 持久化
  • 事务
  • Enhanced delivery modes
  • Enterprise queueing

NATS是一个高可用和高性能的消息系统,在我们的微服务生态系统中运行的很好。它与Micro配合的非常的好,我们可以把它用在register,transport,broker中,我们也已经全部实现了这些插件。

NATS在Micro中的使用只是一个示例,它展示了Micro高度的插件化架构,每个go-micro的包都可以被替换,底层不需要改动代码,上层也只需要改动非常少的代码。在未来我们还会看到更多的Micro on X,下一个可能是Micro on kubernetes。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐