实际生产环境中轮询和异步通知到底那个更好点?

查看 172|回复 11
作者:chen0520   
今天为一个调整和同事争了好久,大概需求就是服务器同一个资源,要保证同时只能有一个服务在使用,我主张是一个向另一个申请,如果没在使用就立刻返回,如果再使用,就先提示占用,然后使用完了,再回调通知到对方,同事则坚持轮询对方的一个接口(接口返回当前的使用状态),理由是耦合,如果各自回调,2 个程序的耦合性就增加,而且回调也增加了代码复杂度,不易维护,仔细想想他说的确实有道理,但回调的处理真的有这么差么?我是觉得轮询确实有点不太优雅,看看大家的意见

回调, 轮询, 耦合性, 使用

FranzKafka95   
效率上讲肯定是异步回调通知更好。
IvanLi127   
看需求要不要即时性咯。
另外,回调有重试么,没有的话轮询还得安排上
dobelee   
两个结合,轮询兜底。
lingalonely   
看请求量,量大就回调,量小就轮询,轮询可以不定长轮询
yuanmomo   
看时间成本啊,要是时间,人力成本都不允许,还要啥异步通知。
你这个就有点像我之前看过的一个项目,没有用事务性消息。然后通过定时任务来保证数据的最终一致性。卧槽,最后,一般的项目,3w 行代码,然后那个 xxl-job 已经 16w 行代码了。项目太紧了,时间都腾不出来,谁还考虑引入新的技术,而且,当时华为云还不支持呢。
所以,回调肯定更好,但是得考虑实现成本了。
lightjiao   
async await 来解决这种事情很简单
Huelse   
得看你们用的什么框架和技术栈,不同技术栈有不同的优势圈,总之得方便查资料且资料够全。
raycool   
优雅用回调
快速用轮询
swulling   
这个场景显然是抢锁啊,不应该用 callback 。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部