可爱猫iHttp-高性能服务端设计思路~

admin 2022-05-24 17:06:58 190815

      首先说一下,可爱猫本身处理消息就是异步的,但是有消息会立即处理,所以消息特别多的时候 也有很高的几率导致微信崩溃的!所以,我们只能自己来控制消息发送速度了!包括消息接收速度,你也要弄一下,因为收消息很多,都会同步到你的远程处理接口里面来,如果你这个接口性能很差,比如很多秒才能返回,那会造成可爱猫队列堵塞,会增大可爱猫崩溃几率!

      所以,我们怎么设计呢?!那自然是使用队列了!如果可以,收发消息可以全部用队列,都用异步模式!

接收消息(就是填入iHttp里远程处理接口的url)

    这个接口,你在设计的时候你可以采用完全异步的方式来设计,也就是消息来了直接扔队列就返回成功即可!也可以半异步的模式来设计,比如特别简单的功能,几乎不耗时的功能(或者你微信消息量不大,都可以半同步模式),你也可以处理消息,进行同步返回!

发送消息(也就是你调用iHttp端口这块程序)

    这个程序得好好设计,我就不赘述了!但是 你一定要实现一个统一消息分发队列(也就是异步处理消息),前面说的接收消息都会扔这个队列里面(当然如果你用半异步模式,直接返回处理结果的就不用扔里面了)!

    实现了统一消息队列后,你再实现各种消息处理功能就行了,把这些功能扔进 统一消息分发里面。然后功能处理完毕,把待发送的消息扔进 消息发送队列里面即可

    最后就说消息发送队列了,这个就简单了,取队列,调iHttp的发送接口,为了防止可爱猫或者微信崩溃,就在这里做文章。首先这个队列你一定要单进程消费(不要并发消费),其次就是每发送完成,你可以休息1~5秒,或者随机一个时间,这样基本就稳定了!

 

文字说的比较啰嗦,直接看UML图吧!表达的比文字更清晰一些!

 

最后,文末有彩蛋!

最后于 2022-9-27 被admin编辑 ,原因:
可爱猫?Telegram电报群 https://t.me/ikeaimao

社区声明 1、本站提供的一切软件、教程和内容信息仅限用于学习和研究目的
2、本站资源为用户分享,如有侵权请邮件与我们联系处理敬请谅解!
3、本站信息来自网络,版权争议与本站无关。您必须在下载后的24小时之内,从您的电脑或手机中彻底删除上述内容
最新回复 (170)

您可以在 登录 or 注册 后,对此帖发表评论!

返回