Apache Stratos的Communication Bus,包括Message Bus和Real-time Event Bus,都是通过采用Publish-Subscribe(简称pub/sub)通信模式,使得Apache Stratos的各个模块之间达到通信的目的。在该通信模式中,发送消息的模块叫做publisher,接收消息的模块叫做subscriber.Publishers将消息组织成类,命名为“topic”,即“topic”是指“消息的集合”,然而Publishers却不规定这些已经被发送出去的消息(此时,也称为“事件”)将需要被路由到何处。而是,publisher保持着topics,对特定的事件感兴趣的subscriber则可以订阅该事件。Apache Stratos中通信过程如下图所示:
pub/sub通信模式,使得Apache Stratos中的各模块之间以一种松耦合的方式集成在一起,这具有了“增加和移除某模块而不影响整个系统”的优点。全部的模块只需要知道一个well-know-member(KWA),称为Message Broker。因此,这使得Apache Stratos的配置变得相对容易起来。而且,pub/sub通信模式使得Apache Stratos可以毫不费力的完成scale into multi-cloud的目的。下图将更加详细的展示了在Apache Stratos中发生的通信过程,演示了Apache Stratos中的模块在Message Broker中如何订阅topic的。