分布式消息队列
如果模块之间不存在直接调用,那么新增模块或者修改模块就对其他模块影响最小,这样系统的可扩展性无疑更好一些。
事件驱动架构(Event Driven Architecture)
通过在低耦合的模块之间传输事件消息,以保持模块的松散耦合,并借助事件消息的通信完成模块间合作,典型的EDA架构就是操作系统中常见的生产者消费者模式。在大型网站架构中,具体实现手段有很多,最常用的是分布式消息队列。
由于消息发送者不需要等待消息接受者处理数据就可以返回,系统具有更好的响应延迟;
同时,在网站访问高峰,消息可以暂时存储在消息队列中,等待消息接受者根据自身负载处理能力控制消息处理速度,减轻数据库等后端存储的负载压力。