传统应用All in one的架构导致资源利用率低、可扩展性差、可靠性也无法得到保证。举例:一个电商系统,如果是All in one架构下,大促来临之前只能按照整系统的倍数去扩展。而不能按照缓存扩展5倍(登陆次数暴增)、 数据库 扩展2倍(实际的用户数据增长约2倍)比例去扩展。
这种封闭的架构,如果要做业务改动或新增业务模块都是比较困难的,因为所有的模块与数据库都是直接串行交互的。整系统的可靠性也比较差,如果数据库故障了,所有的业务流程都会受阻。增加了分布式消息队列以后,可以将各个应用模块做解耦,当某个业务模块故障时,不影响与其并行操作的其他模块。大大增强了系统的可靠性。