请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

消息百分百投递方案二 RPC ReSend Command 问题

在下图中,主要关注 RPC ReSend Command 操作

https://img1.sycdn.imooc.com//szimg/5b8f3f500001bb6610000521.jpg

我想了一下,调用 RPC 的情况下

第一种可能是直接调用之前发送消息的方法,但是这个方法里面可能还有其他操作(比如一共发送了三个消息,当前触发 RPC ReSend 的只是其中一个方法),这样会影响比较大。

第二种可能是单独将发送消息的操作 Extract Method,然后 RPC ReSend 去调用这个抽取出来的方法,这样做,会写多余的代码。 

其次,RPC 操作本身还有超时的问题。

所以我想,在 Step 2 的时候将整个消息都延迟发送到 CallBackService,如果发现 MSG DB 还没有记录,是不是可以不调用 RPC,直接在 CallBackService 里面进行消息重发。这样整体处理比较简单。


正在回答

2回答

还是没有具体的场景。。想多了。,可能你理解了怎么用,但是没理解怎么实现,可以先按照自己的想法来

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_哈之仆_0 #1
    嗯,实践中......
    回复 有任何疑惑可以回复我~ 2018-09-05 11:32:47
  • 阿神 回复 提问者 qq_哈之仆_0 #2
    callbackservice主要是回调重新发送消息服务,而生产端的消息发送肯定独立出来API去做,不可能直接调业务方法,业务方法很复杂,
    回复 有任何疑惑可以回复我~ 2018-09-05 11:36:44
  • 阿神 回复 提问者 qq_哈之仆_0 #3
    也不会也出现代码冗余啊,发消息方法都是公用的,你可以理解为,业务操作和发消息操作是分离的
    回复 有任何疑惑可以回复我~ 2018-09-05 11:37:49
阿神 2018-09-05 10:45:50

还是没有具体的场景。。想多了。,可能你理解了怎么用,但是没理解怎么实现,可以先按照自己的想法来

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号