Indexed by:
Abstract:
大型互联网应用的后台架构一般都由多个子系统组成,一个完整业务流程需要多个子系统的协作完成,系统之间需要彼此调用和通信。传统的直接RPC通信方式存在着耦合性强、可靠性差等缺点,因此消息中间件在系统/组件间通信中得到了广泛的应用,它能够有效地完成系统解耦、异步通信、削峰填谷、屏蔽差异等任务。
本文设计并实现了一个适用于在线交易场景的消息中间件,提供基于队列模型和主题模型的消息服务。消息中间件由客户端和服务器端两部分组成,它们通过基于HTTP协议的API互相通信。客户端是一个函数库,消息的生产者可以使用其中的发布接口发布新消息,消息会被发送到服务器端,服务器端是多个服务器节点组成的集群,采用分布式架构,负责消息的接收、存储、管理和分发,消息的消费者可以使用读取接口从服务器端获取消息。为了提高消息中间件的横向扩展能力,服务器端的消息持久化机制采用了分片存储的方式,将同一模型内的消息按特定规则分散到多个服务器节点存储,以提高消息读写的性能。同时,为了保证消息存储的可靠性,消息中间件为每份消息数据生成多个冗余副本,放置于不同的服务器节点上,以避免部分服务器节点宕机造成消息数据的丢失,同时使用基于Raft算法实现的一致性模块保证多个副本间的数据一致性及集群的故障容灾能力。
根据系统测试的结果,本文设计并实现的消息中间件具有良好的可用性和性能,在保证消息可靠传递的同时也有着较好的读写效率。在实际业务的使用中验证了本消息中间件适用于在线交易、支付等对数据可靠性要求高的场景。
Keyword:
Reprint Author's Address:
Email:
Basic Info :
Degree: 硕士
Mentor: 金莉
Student No.:
Year: 2018
Language: Other
Cited Count:
WoS CC Cited Count: 0
SCOPUS Cited Count:
ESI Highly Cited Papers on the List: 0 Unfold All
WanFang Cited Count:
Chinese Cited Count:
30 Days PV: 5
Affiliated Colleges: