RabbitMQ
文章平均质量分 93
消息队列
C#ToJava
.NET虽然很有趣,但是以后要做Java喽 -.-。
展开
-
C#使用RabbitMQ 一、安装
最近公司遇到一个问题,就是在集中兑付日(基金)兑付成功后需要给客户发送兑付成功消息,提醒客户查收,但是在集中发送的过程中,因为是同步方法,会造成堵塞,而且有些客户没有关注微信号会造成发送失败,收到不少客户的投诉,便决定使用消息队列对这个功能改造一下。 现在从头开始学习一下消息队列。目录1.关于RabbitMQ1.1 消息队列(Message Queue,简称MQ)1.2...原创 2020-01-02 17:56:54 · 888 阅读 · 0 评论 -
C#使用RabbitMQ 二、实例
1.使用RabbitMQ的实际案列目录1.使用RabbitMQ的实际案列1.1先对RabbitMQ的概念做一些简单的描述1.2 创建生产者1.3 创建消费者1.1先对RabbitMQ的概念做一些简单的描述P:(Producing)生产者,产生消息的源头,一般是客户端红色部分:队列(queue),消息通过你的应用程序和RabbitMQ进行传输,它们只能存储在队列(...原创 2020-01-03 16:22:01 · 754 阅读 · 0 评论 -
到底什么时候该使用MQ?
原文:到底什么时候该使用MQ?一、缘起一切脱离业务的架构设计与新技术引入都是耍流氓。引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题。就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见《互联网架构为什么要做微服务?》)。二、MQ是干嘛的消息总线(Message Queue),后文称MQ,是一种跨进程的通信机制,用于上下游传递...转载 2020-01-03 16:54:19 · 165 阅读 · 0 评论 -
实现“延迟消息”功能
原文:1分钟实现“延迟消息”功能一、缘起很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。一般来说怎么实现这类“48小时后自动评价为5星”需求呢?常见方案:启动一个cron定时任务,每小时跑一次,将完成时间超过48小时的订单取出,置为5星,并把评价状态置为已评价。假设订单表的结构为:t_o...转载 2020-01-03 16:55:53 · 318 阅读 · 0 评论 -
MQ如何实现消息必达
原文:消息总线能否实现消息必达?一、缘起《高效定时任务的触发》《延迟消息的快速实现》任务、延迟消息都放在内存里,万一重启了怎么办?能否保证消息必达?二、架构方向MQ要想尽量消息必达,架构上有两个核心设计点:(1)消息落地(2)消息超时、重传、确认三、MQ核心架构上图是一个MQ的核心架构图,基本可以分为三大块:(1)发送方->左侧粉色部分...转载 2020-01-03 16:57:34 · 268 阅读 · 0 评论 -
MQ如何实现幂等性
原文:消息总线真的能保证幂等?一、缘起如《消息总线消息必达》所述,MQ消息必达,架构上有两个核心设计点:(1)消息落地(2)消息超时、重传、确认再次回顾消息总线核心架构,它由发送端、服务端、固化存储、接收端四大部分组成。为保证消息的可达性,超时、重传、确认机制可能导致消息总线、或者业务方收到重复的消息,从而对业务产生影响。举个栗子:购买会员卡,上游支付系统负责给...转载 2020-01-03 16:58:39 · 1191 阅读 · 0 评论