一次架构优化纪实

时间:2017.12.14
地点:北京
事件:优化CMS*异步计算消息架构
历时:1小时

先上架构图,看图说话。


171214refactorcmsarch.png

某CMS,使用django搭建。

最最开始,有那么一些比较重的计算,比如分词算法等,直接在django ORM的model save中hard coded,随着CMS Admin使用量的增加,web响应速度受到显著拖累。

于是考虑将较重的计算异步化。最初的架构是,先使用独立的MQ服务将异步计算单元隔离出来,然后把异步计算消息发送封装成微服务,最后让Django signal调用微服务来触发。如图中灰色虚线所示。

优化后的架构,改为django signal直接向MQ发送异步计算消息,不再绕路微服务层。如图中红色实线所示。

架构优化后,整个系统的异步计算业务回路更短,故障率更低,稳定性更高。

[*] CMS:Content Management System,内容管理系统。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。