一次犯蠢

今年我参与公司最重要的一件事莫过于网商银行的对接,因为商户注册后过几分钟,网商银行才会给出结果,我方需要反查网商的审核结果,有些类型的交易也是如此,我给出的方案是利用spring自带的定时任务去处理每笔数据,但用定时处理数据,会造成两个恶果:
1.频繁查询数据库
2.给多机部署带来不便

聪明的我,当时想到很多后续解决方案,比如利JUC中的DelayQueue去削减查询数据库的次数。以及在多机部署时,利用对交易id求余,使数据分成多个子集,让每个服务实例单独占用一个数据集。

我自认为那是最优的方案了,前不久,去一个公司面试,还在个架构面前炫了一下自己的方案,然而现在想起来,真是蠢到家了。当时我跟某架构说:消费队列没办法替我解决,他也认同此场景不适合消息队列。

直到今天我看到QQ上有人推教程,提到RabbitMq的延迟队列,我才去查资料。发现竟然还这东西。且能与Spring-Stream无缝集成。当时项目中已用了到RabbitMq做削峰及解耦。无知害死人。

https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit
https://stackabuse.com/spring-cloud-stream-with-rabbitmq-message-driven-microservices/
https://blog.csdn.net/lin229093041/article/details/102586154
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值