.net core 微服务之消息服务——基于RabbitMq的消息服务

146 阅读1分钟

异步消息在系统中对高并发的削峰很有用途,为了满足SAAS平台对消息的订阅和处理,最近设计了消息处理的微服务,其核心利用MQ的优先级队列机制,对消息进行发送,并接收落盘并进行处理。

1、MQ的优先级消息

RabbitMq提供了优先级队列和优先级消息的概念。要想使用优先级,必定需要标识一个队列为优先级队列,然后对路由的消息进行优先级设定,在处理比较慢的情况下,优先级高的消息会首先推送给处理者,达到优先级高先处理的效果。
设定代码很简单,例子如下:

// 定义一个Exchange
  channel.ExchangeDeclare(MQueue.Exchange.ExchangeName, MQueue.Exchange.ExchangeType, MQueue.Exchange