随笔分类 -  中间件-数据库 / RabbitMQ

摘要:Topic交换机和队列绑定是允许使用通配符 *匹配一个单词 #匹配多个单词 发布 public void TopicPublish() { MQHelper mh = new MQHelper(); using (var conn = mh.GetConnection()) { using (IMo 阅读全文
posted @ 2021-06-19 23:56 RookieCoderAdu 阅读(90) 评论(0) 推荐(0)
摘要:一般情况下,生产者发送消息,先到先得,一个消费者消费之后,该条消息便消失不会再被消费,抢完即止。 那能否生产者发送的消息每个消费者都能接收到,都能消费呢? Fanout交换机就可以实现。 代码实现: 生产者: public class FanoutExchange { public void Fan 阅读全文
posted @ 2021-06-18 23:17 RookieCoderAdu 阅读(75) 评论(0) 推荐(0)
摘要:RabbitMQ交换机有四种类型:Direct,Fanout,Topic,Header 先简单介绍Direct交换机的代码实现 先创建连接 public class MQHelper { public IConnection GetConnection() { var factory = new C 阅读全文
posted @ 2021-06-16 23:20 RookieCoderAdu 阅读(103) 评论(0) 推荐(0)
摘要:RabbitMQ是需要Erlang语言环境,所以下载RabbitMQ的同时需要安装Erlang/OTP 对应的版本关系可见:https://www.cnblogs.com/gne-hwz/p/10714013.html 我安装的版本是3.82,对应erlang22.0 安装好了之后,需要配置环境变量 阅读全文
posted @ 2021-06-14 23:25 RookieCoderAdu 阅读(22) 评论(0) 推荐(0)
摘要:RabbitMQ默认是自动确认,也就是消息推送给消费者之后,马上确认并销毁。但是假如消费消息的过程中发生了异常,由于消息已经销毁,这样就会造成消息的丢失。 除了自动确认之外,还有三种确认方式:手工确认、批量确认、接受拒绝。 一、手动确认。 也就是关闭了自动确认 channel.basicConsum 阅读全文
posted @ 2021-05-17 18:29 RookieCoderAdu 阅读(718) 评论(0) 推荐(1)
摘要:【大致流程】 生产者Producer将消息发送给RabbitMQ Server/Broker里的交换机Exchange,交换机绑定有队列Queue,生产者在传递的过程中会携带路由键Routing_Key, 交换机根据路由键和指定算法找到对应的队列,将信息传递给消费者Consumer Producer 阅读全文
posted @ 2021-02-24 17:48 RookieCoderAdu 阅读(167) 评论(0) 推荐(0)
摘要:1.生产环境网络波动导致丢包 2.使用Confirm模式,接收端接收失败发送消息给生产者,生产者接收失败或未作处理 3.消息发送到exchange,但是queue和路由没有绑定 4.消息未做持久化处理,或者持久化不完全(只持久化Message,未持久化Queue,Exchange) 5.未做消息队列 阅读全文
posted @ 2021-02-22 11:25 RookieCoderAdu 阅读(385) 评论(0) 推荐(0)
摘要:signalr是实时通讯的开源框架 下面演示如何将signalr.js添加到项目中 新建项目,然后右键选择“添加”,“客户端库”,按照如图所示的选择就可以将signalr添加到项目的指定目录中 阅读全文
posted @ 2020-08-12 09:12 RookieCoderAdu 阅读(530) 评论(0) 推荐(0)