软件的架构设计思路,往往来源于我们的日常生活。
软件系统之中,消息分发子系统是非常常见的,消息分发来源于古代的邮递系统,通过多级分发、层层分解,分工合作,可以有效地分发消息到接收者。古代的邮递,有集中处理和驿站、有长途和短途、邮递的时间有长有短,有货物有信件等不同的邮递。
分析清楚几件事情,基本就可以设计一个比较好的消息分发子系统了。
消息的传递方向:分为两种,分别是推和拉。消息是同步还是异步分发。消息是否有存储转发。消息的路由是怎样的。从发送者、接收者的角度看,还要分为点对点、点对多点、多点对多点的类型。
消息还得可靠,包括传递的可靠性和消息的完整性。考虑消息传递的渠道的话,要设计系统的拓扑结构;等等。
按需求规范,可以设计出不同的消息分发系统。
当然,现在已经有很多开源的消息分发系统可以用了,正常使用情况下效果也是不错的。
网友评论