1.6 关于本书内容的说明
正如前面所讲,目前成熟可用的消息体系与相关产品有很多,它们基本都可以归入1.5节介绍的种类中。
这些消息体系,虽然其设计与实现的指导思想、实现细节、侧重点各有不同,也各有特色,但它们在基本原理、实现机制、关键技术点等重要方面却是大同小异的。因此,对每个消息体系的特色一一介绍,并不是本书的目的,也没有必要。可以这样理解,基本上所有的消息体系都要很好地解决消息的表示、消息的流化、不同类型消息的收发、远程过程调用、海量消息类型处理、大通信量处理、海量任务并发处理等内容,只要能对这些问题有非常透彻的了解,就可以说是抓住了所有消息体系的核心与灵魂。
另一点,关于有些消息体系中关于可靠消息传输一说,也不是本书的重点,因为关于它的实现涉及了一些本地buffer与队列管理的技术,但与消息体系本身在分布式通信层面的内容并没有太大的关系。
本书有大量的示例代码。因为对于消息设计与开发这样一个主题来讲,仅仅用文字和流程图是很难完全讲清楚的。所以,本书绝大多数内容都是针对我们最初提出的需求,结合大量的示例代码,以实际的、在实践中经过了长期大量企业级工程实践检验的消息体系设计为例展开介绍。并且书中给出的各部分代码示例之间是前后衔接、相对完整的,相信读者对它们进行相应的梳理、规整与补充后,便可以直接使用。当然,笔者希望,这些代码最起码可以很好地帮助读者深入理解书中的内容,并且可以作为读者自行开发消息体系很好的参考实例。
本书结合作者自身经验,通过对典型的、企业级的、功能强大且全面的、实用的消息体系所应该具有的所有重要组成部分的详细介绍,使有兴趣的读者能对消息体系的内在原理与机制得到深入的学习与了解,并且可以在本书的指导下自行设计与开发企业级的消息体系。
虽然从细节上讲,各种不同的消息体系都会有自己的特色,但从设计与实现原理、内容完整性、提供功能的强大与丰富程度等方面来看,本书介绍的消息体系设计应该已经涵盖了该领域内绝大多数的重要问题,这也包括书中介绍的很多具体实现方法与示例。如果读者对本书的内容彻底掌握并吸收了,那么,对各种复杂消息体系的设计与实现,很容易就可以达到举一反三,触类旁通的效果。
因此,本书后面的内容将依此原则展开。