社区
Java EE
帖子详情
关于rabbitmq的事务支持问题
xiaqi1210
2014-08-02 03:33:43
查了很多资料,说是rabbitmq支持事务
但是没想明白,这个事务是这么实现的
比如我
”支付系统“
完成支付之后,要发消息给
订单系统
和
商品系统
那这个时候的事务应该怎么做呢
假如,
”订单系统“
接受到消息后处理成功了,但是
”商品系统“
处理失败了
这个时候怎么回滚
”支付“
结果和
”订单“
的处理呢
...全文
559
4
打赏
收藏
关于rabbitmq的事务支持问题
查了很多资料,说是rabbitmq支持事务 但是没想明白,这个事务是这么实现的 比如我”支付系统“完成支付之后,要发消息给订单系统和商品系统 那这个时候的事务应该怎么做呢 假如,”订单系统“接受到消息后处理成功了,但是”商品系统“处理失败了 这个时候怎么回滚”支付“结果和”订单“的处理呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaqi1210
2014-08-14
打赏
举报
回复
没人用过了吗
xiaqi1210
2014-08-05
打赏
举报
回复
自己实现分布式锁,成本比较高 如果rabbitmq本身带有事务功能的话,应该是比较健壮的
大齐zy
2014-08-02
打赏
举报
回复
建议LZ实现一个分布式的锁吧,数据库或者缓存都可以。 锁中两个标记位订单系统、商品系统当两个都提交成功则释放, 如果两个都没有成功或者有一个没有成功,则都回滚,再释放。
xiaqi1210
2014-08-02
打赏
举报
回复
自己顶一个~
MQ选型之RabbitMQ
目前流程的消息队列主要有:ActivityMQ/kafka/redis/rabbitmq等。通过对这些MQ进行比较分析rabbitmq优势:1.从社区活跃度;2.持久化消息比较(ZeroMq 不
支持
,ActiveMq 和RabbitMq 都
支持
。持久化消息主要是指我们机器在不可抗力因素等情况下挂掉了,消息不会丢失的机制);3.综合技术实现(可靠性、灵活的路由、集群、
事务
、高可用的队列、消息排序、
问题
追踪、可视化管理工具、插件系统等等);4.高并发(原因是它的实现语言是天生具备高并发高可用的erlang 语言);5.RabbitMq 比Kafka 成熟,在可用性上,稳定性上,可靠性上
RabbitMq实例以及安装包
RabbitMQ 选型和对比 1.从社区活跃度 按照目前网络上的资料,RabbitMQ 、activeM 、ZeroMQ 三者中,综合来看,RabbitMQ 是首选。 2.持久化消息比较 ZeroMq 不
支持
,ActiveMq 和RabbitMq 都
支持
。持久化消息主要是指我们机器在不可抗力因素等情况下挂掉了,消息不会丢失的机制。 3.综合技术实现 可靠性、灵活的路由、集群、
事务
、高可用的队列、消息排序、
问题
追踪、可视化管理工具、插件系统等等。 RabbitMq / Kafka 最好,ActiveMq 次之,ZeroMq 最差。当然ZeroMq 也可以做到,不过自己必须手动写代码实现,代码量不小。尤其是可靠性中的:持久性、投递确认、发布者证实和高可用性。 4.高并发 毋庸置疑,RabbitMQ 最高,原因是它的实现语言是天生具备高并发高可用的erlang 语言。 5.比较关注的比较, RabbitMQ 和 Kafka RabbitMq 比Kafka 成熟,在可用性上,稳定性上,可靠性上, RabbitMq 胜于 Kafka (理论上)。 另外,Kafka 的定位主要在日志等方面, 因为Kafka 设计的初衷就是处理日志的,可以看做是一个日志(消息)系统一个重要组件,针对性很强,所以 如果业务方面还是建议选择 RabbitMq 。 还有就是,Kafka 的性能(吞吐量、TPS )比RabbitMq 要高出来很多。
消息中间件RabbitMQ从入门到精通技术
再讲解RabbitMQ的多种队列模式,这些队列模式的讲解中详细的介绍了每个队列模式的优点、应用场景及存在的
问题
,一环扣一环,让大家知道工作中改如何选择使用哪一种队列模式。并介绍Springboot中如何使用rabbitmq。...
rabbitmq详细描述,帮你解决
问题
> 市面上比较火爆的几款MQ: > > ActiveMQ,RocketMQ,Kafka,RabbitMQ。 > > - 语言的
支持
:ActiveMQ,RocketMQ只
支持
Java语言,Kafka可以
支持
多门语言,RabbitMQ
支持
多种语言。 > - 效率方面:ActiveMQ,RocketMQ,Kafka效率都是毫秒级别,RabbitMQ是微秒级别的。 > - 消息丢失,消息重复
问题
: RabbitMQ针对消息的持久化,和重复
问题
都有比较成熟的解决方案。 > - 学习成本:RabbitMQ非常简单。 > > RabbitMQ是由Rabbit公司去研发和维护的,最终是在Pivotal,由Erlang语言开发(并发的编程语言) > > RabbitMQ严格的遵循AMQP协议,高级消息队列协议,帮助我们在进程之间传递异步消息。 > RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。
支持
消息的持久化、
事务
、拥塞控制、负载均衡等特性,使得RabbitMQ拥有更加广泛的应用场景。RabbitMQ跟Erlang和AMQP有关。下面简单介绍一下Erlang和AMQ
MSMQ、RabbitMQ、ActiveMQ消息队列调试工具
可用于调试MSMQ、RabbitMQ、ActiveMQ三种消息队列 其中MSMQ
支持
Active、Binary、XML格式(要勾选
事务
) RabbitMQ
支持
逐条接发、批量接发、RPC回调模式、新建队列、建立持久化队列、连接测试等功能。
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章