首先说一下,可爱猫本身处理消息就是异步的,但是有消息会立即处理,所以消息特别多的时候 也有很高的几率导致微信崩溃的!所以,我们只能自己来控制消息发送速度了!包括消息接收速度,你也要弄一下,因为收消息很多,都会同步到你的远程处理接口里面来,如果你这个接口性能很差,比如很多秒才能返回,那会造成可爱猫队列堵塞,会增大可爱猫崩溃几率!
所以,我们怎么设计呢?!那自然是使用队列了!如果可以,收发消息可以全部用队列,都用异步模式!
接收消息(就是填入iHttp里远程处理接口的url)
这个接口,你在设计的时候你可以采用完全异步的方式来设计,也就是消息来了直接扔队列就返回成功即可!也可以半异步的模式来设计,比如特别简单的功能,几乎不耗时的功能(或者你微信消息量不大,都可以半同步模式),你也可以处理消息,进行同步返回!
发送消息(也就是你调用iHttp端口这块程序)
这个程序得好好设计,我就不赘述了!但是 你一定要实现一个统一消息分发队列(也就是异步处理消息),前面说的接收消息都会扔这个队列里面(当然如果你用半异步模式,直接返回处理结果的就不用扔里面了)!
实现了统一消息队列后,你再实现各种消息处理功能就行了,把这些功能扔进 统一消息分发里面。然后功能处理完毕,把待发送的消息扔进 消息发送队列里面即可
最后就说消息发送队列了,这个就简单了,取队列,调iHttp的发送接口,为了防止可爱猫或者微信崩溃,就在这里做文章。首先这个队列你一定要单进程消费(不要并发消费),其次就是每发送完成,你可以休息1~5秒,或者随机一个时间,这样基本就稳定了!
文字说的比较啰嗦,直接看UML图吧!表达的比文字更清晰一些!
最后,文末有彩蛋!
最后于 2022-9-27
被admin编辑
,原因: