分布式消息中间件
在分布式架构体系中,分布式消息中间件已经逐渐成为企业IT系统内部通信的核心手段。 在规划和设计数据交换平台(DEP)的过程中,我们对当今市面上主流的消息中间件进行了分析研究:老牌的IBM的WebSphere MQ、LLM, Tibco的ftl,开源的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ以及硬件消息中间件Solace等。
另外,我们对一些公共的分布式消息中间协议标准进行了研究,这些标准有AMQP、JMS、STOMP等。
综合这些消息中间件的特性、标准和设计思想,我们总结了自主开发设计一个分布式消息中间件时,所需要思考和设计的重要方面,包括RPC、事务、最终一致性、可靠组播、服务节点的发现及注册、消息队列的push、pull模型,消息的批量处理和异步处理、存储系统的设计、流控和错峰的设计、公平调度和负载均衡、全排序等。希望通过这些研究为数据处理平台的开发打下了基础。