ketchup 消息队列rabbitmq使用
ketcup git地址:https://github.com/simple-gr/ketchup
rabbitmq 安装
1.docker pull rabbitmq:management
2.docker run -itd --name rabbitmq --restart=always -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=qwe123QWE rabbitmq:management
RABBITMQ_DEFAULT_USER:默认登陆名称。RABBITMQ_DEFAULT_PASS:默认登陆密码
3.http://ip:15672 web页面登陆
出现该页面就代表安装成功
ketchup 中 配置 rabbitmq
"RabbitMQ": {"Host": "192.168.190.4",//ip地址"UserName": "admin",//用户名"Password": "qwe123QWE",//密码"RetryCount": 3,//重试执行次数"FailCount": 1//失败执行次数}
1.定义event实体
public class UserEvent : EventHandler {public string Name { get; set; }public string Job { get; set; } }
2.实现eventhandler
QueueConsumerMode.Normal:一般消息
QueueConsumerMode.Retry:重试队列
QueueConsumerMode.Fail:死信队列
[QueueConsumer(nameof(HelloEventHandler), QueueConsumerMode.Normal, QueueConsumerMode.Retry, QueueConsumerMode.Fail)]public class HelloEventHandler : BaseEventHandler<UserEvent>{ //实现一般队列与重试队列public override Task Handle(UserEvent @event){Console.WriteLine($"消费。{@event.Name}---{@event.Job}");throw new Exception();}//实现一般队列与重试队列public override Task Handled(EventContext context){Console.WriteLine($"调用{context.Count}次。类型:{context.Type}");var model = context.Content as UserEvent;return Task.CompletedTask;}//实现死信队列方法public override Task FailHandler(EventContext context){Console.WriteLine($"调用{context.Count}次。私信队列方法 ,方法,类型:{context.Type}");return base.FailHandler(context);}}
3.启动程序
rabbitmq 中已经显示出队列的信息
发布消息
ServiceLocator.GetService<IEventBus>().Publish(new UserEvent(){Name = "simple",Job = "it"});
日志显示消费
写在最后
QQ群:592407137 期待大家一起研究,学习~~
如果喜欢,请给予一个Start 给予支持。谢谢!
ketchup 消息队列rabbitmq使用相关推荐
- 初识消息队列/RabbitMQ详解
欢迎大家阅读<朝夕Net社区技术专刊> 我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦! 今天来给大家分享 ...
- 消息队列RabbitMQ的使用
最近在学习spring cloud微服务,当学习到spring cloud bus的时候,涉及到了消息队列,需要学习RabbitMQ. 一.消息队列 1.1介绍消息队列 消息队列,即MQ,Messag ...
- 消息队列RabbitMQ入门与PHP实战
消息队列介绍以及消息队列应用场景 RabbitMQ 说明 MQ(Message Queue) 即消息队列,是应用间的通信方式,消息发送后可立即返回,由消息系统来确保消息的可靠传递."消息队列 ...
- 快速掌握消息队列RabbitMQ
※快速掌握消息队列RabbitMQ 一.RabbitMQ概述 (一)什么是消息队列MQ 消息队列(Message Queue),后文称MQ,是一种 跨进程的通信机制,用于上下游传递消息. MQ作为消息 ...
- 谷粒商城12——购物车模块、消息队列RabbitMQ
文章目录 十.购物车模块 1.需求分析 2.封装vo 3.添加商品 4.查询购物车 5.选中商品 6.在购物车修改商品数量 7.在购物车删除商品 十一.消息队列RabbitMQ 1.场景分析 2.概述 ...
- RabbitMQ总结(一)--消息队列RabbitMQ应答模式(自动、手动)
原文链接 消息队列RabbitMQ应答模式(自动.手动) 为了确保消息不会丢失,RabbitMQ支持消息应答.消费者发送一个消息应答,告诉RabbitMQ这个消息已经接收并且处理完毕了.RabbitM ...
- 消息队列RabbitMQ之初学者
文章目录 消息队列 什么是消息队列 生产者和消费者 AMQP和JMS AMQP和JMS的区别 常见的MQ产品 RabbitMQ Erlang语言 RabbitMQ下载 什么是消息队列RabbitMQ? ...
- SpringCloud源码探析(六)-消息队列RabbitMQ
1.概述 RabbitMQ是一个开源的消息代理和队列服务器,它是基于Erlang语言开发,并且是基于AMQP协议的.由于Erlang语言最初使用与交换机领域架构,因此使得RabbitMQ在Broker ...
- 消息队列 RabbitMQ
前言 市面上的消息队列产品有很多,比如老牌的 ActiveMQ.RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,阿里巴巴捐赠给 Apache 的 RocketMQ ,连 red ...
- 分布式消息队列 — RabbitMQ(3)
目录 文章目录 目录 前文列表 前言 通道 Channel 一个基本的生产者/消费者实现 消费者 生产者 运行结果 应用预取计数 应用 ACK 机制 最后 前文列表 快速入门分布式消息队列之 Rabb ...
最新文章
- 程序员离职删代码被判10个月,京东到家说恢复数据库花了3万,网友:这是真有仇啊...
- 皮一皮:内涵了...
- 用BP人工神经网络识别手写数字——《Python也可以》之三
- Flutter浪潮下的音视频研发探索
- 增加标 和增加其内容
- 【2018.3.17】模拟赛之二-ssl1862jzoj1366 删数【区间dp】
- 华为手机怎么强制关机_华为忘记锁屏密码怎么办?多品牌手机通用解锁密码
- linux两台服务器 同一个地址_【网工玩Linux】搭建开源多运营商(ISP)链路负载均衡器...
- NOIP2011 选择客栈(洛谷P1311)
- iOS自定义下拉列表
- MODIS数据下载之USGS下载流程
- gmsk的matlab仿真,MSKGMSK 导师传给我的关于MSK和GMSK的一些相关MATLAB仿真源码 - 下载 - 搜珍网...
- js+Canvas 利用js 实现浏览器保存图片到本地
- 什么是动态代理?两种常用的动态代理方式
- 读书笔记---Naive Bayes
- 智能手机PDR和VDR思考
- NodeJS简介-node.js是什么?
- 【企业邮箱申请】网易企业邮箱陌生人来信安全提醒功能
- 【白板推导系列笔记】降维-主成分分析-概率角度(Probabilistic PCA)
- 李俊峰:碳达峰、碳中和决策不是心血来潮,2030年碳达峰不是一件特别难的事
热门文章
- BZOJ3202 [Sdoi2013]项链
- Module parse failed: Unexpected token (1:0) You may need an appropriate load
- oracle odi 资料档案库访问期间出现未分类的异常错误,ODI11g问题汇总
- dns污染怎么快速清除解决
- C#Winform实现手写录入签名与保存为透明png图片
- 手写签名 PNG 制作
- mesh组网是什么意思
- 干净的国内系统镜像源
- 吐血整理C++书单,萌新到大牛,要看哪些书?
- 人生感悟:名利如云烟