3 Matching Annotations
- Apr 2022
-
mp.weixin.qq.com mp.weixin.qq.com
-
使用了消息队列的方案(具体实现见 comm/messagequeue 目录),把绝大多数非阻塞操作放到消息队列里执行。并且规定,基础组件与调用方之间的交互必须1. 尽快完成,不进行任何阻塞操作;2. 单向调用,避免形成环状的复杂时序。消息队列的引入很好的改善了死锁问题,但消息队列的线程模型中,我们还是不能避免存在需要阻塞的调用,例如网络操作。在未来的尝试中,我们计划引入协程的方式,将线程模型尽可能的简化。
线程模型、 消息队列、 非阻塞操作、 基础组件、 调用方、 单向调用、 环状的复杂时序。
消息队列的线程模型。
阻塞的调用,如:网络操作。
阻塞,与非阻塞的区分,是在于哪里?
-
设计原则在基础模块的开发中,设计尤为重要。在设计上,微信基础组件以跨平台、跨业务为前提,遵从高可用,高性能,负载均衡的设计原则。
设计原则 (即是设计的边界?还是属于指标?) 在基础模块的开发中,设计尤为重要。在设计上,微信基础组件以跨平台、跨业务为前提,遵从高可用,高性能,负载均衡的设计原则。
句式:在 XX 上,NN 以 YY 为前提,遵从......的设计原则。
-
可用是一个即时通讯类 App 的立身之本。高可用又体现在多个层面上:网络的可用性、 App 的可用性、系统的可用性等。
定性:可用是一个即时通讯类 App 的立身之本。——结论 具体细分:高可用又体现在多个层面上:网络的可用性、App 的可用性、系统的可用性等。 (网络的可用性,取决于客观的网络物理环境,亦是可以取决于自身的运用?)
接下来是:对每一项的内涵定义和具体化。
-