首页 > nsq 的使用

nsq 的使用

1.nsq 主要的二个文章。
http://www.infoq.com/cn/news/2015/02/nsq...

http://wiki.jikexueyuan.com/project/nsq-...
。我想问,这个东西做什么用,主要用在什么地方。以前是app开发,不是很了解什么叫消息系统。
求解答 它饿主要用途,能作为实时聊天的服务器么?又或者推送之类的


NSQ是一个基于Go语言的分布式实时消息平台.

NSQ 是一个消息平台,主要用来发送消息到订阅者。假设有这样一个场景:用户点击了“确认收货” 按钮。后续可能有以下几个动作需要触发:

  1. 这个商品有送积分的活动,需要送积分给用户;

  2. 这个订单的状态要修改为已经完成;

  3. 这个商品的销量计数要累加;

  4. 这个用户的会员等级可能会按规则发生变化(半年内买够了xx元升级到yy会员);

......可能还有更多

这四个后续行为比较耗时,如果在点击按钮之后依次处理会造成用户体验会很差。我们可以把点击按钮这个事件看作一个消息,下面四个动作看作是这个消息的订阅者。我们需要当消息产生时,自动的通知到所有订阅者。这就是消息平台需要做的最简单的工作。

使用 NSQ 来实现上面的场景:

点击事件会发布( NSQ 的 pulish 操作)一个消息到某个话题( topic 假设名字是 topic_delivery_made)中,你可以按需存数据到这个消息体(payload)中。送积分、用户等级计算、商品销量计算会各自订阅(subscribe)这个话题(topic_delivery_made),当话题中有新的消息时,这四个订阅者都会收到一个消息,消息中包括相同的消息体(payload)。

【热门文章】
【热门文章】