请选择 进入手机版 | 继续访问电脑版

我的架构梦:(七十) 消息中间件之RabbitMQ的消息可靠性

[复制链接]
小小海 发表于 2021-1-2 18:57:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、案例

你用支付宝给商家支付,如果是个仔细的人,会思量我转账的话,会不会把我的钱扣了,商家没有收到我的钱?
一般我们使用支付宝或微信转账支付的时候,都是扫码,支付,然后立刻得到效果,说你支付了多少钱,如果你绑定的是银行卡,大概这个时候你并没有收到支付简直认消息。往往是在一段时间之后, 你会收到银行卡发来的短信,告诉你支付的信息。

小同伴有没有想过:支付平台如何包管这笔帐不出问题?

支付平台必须包管数据正确性,包管数据并发安全性,包管数据最终一致性。
支付平台通过如下几种方式包管数据一致性:
1、分布式锁
这个比力容易明白,就是在操纵某条数据时先锁定,可以用redis或zookeeper等常用框架来 实现。 比如我们在修改账单时,先锁定该账单,如果该账单有并发操纵,背面的操纵只能期待上一个操纵的锁释放后再依次执行。
优点:可以大概包管数据强一致性。
缺点:高并发场景下大概有性能问题。
2、消息队列
消息队列是为了包管最终一致性,我们需要确保消息队列有ack机制,客户端收到消息并消费处置处罚完成后&#x

来源:https://blog.csdn.net/riemann_/article/details/111938744
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )