基于Kafka的消息发布订阅服务的设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:echo_1978
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
网易严选电商系统基于微服务架构进行设计与开发,按照业务逻辑的不同被拆分成一组可以独立开发与部署的微服务,服务之间通过HTTP调用和RPC这两种轻量级通信方式来实现相互通信。但这两种通信方式都属于同步点对点通信的范畴,会造成服务之间存在高耦合、请求易阻塞以及请求无缓冲等缺陷。随着服务规模的不断扩张以及服务请求量的急剧增加,这些缺陷也被不断地放大从而影响着整个系统的性能和稳定性。为了解决上述问题,我们开发了消息发布订阅服务(简称MPS),扩展了微服务之间的通信方式,提供了服务与服务之间异步通信的能力。MPS采用具有高吞吐率以及高可用性特点的消息中间件Kafka作为消息存储与消费的底层技术支持,并在Kafka定义的Topic基础上提出了逻辑Topic的概念作为消息发布订阅的基本单元。本文主要介绍消息发布订阅服务的设计与实现,将该服务划分成服务接入管理、消息生产、消息消费推送、消息失败处理以及缓存等五个模块。服务接入管理模块负责管理接入MPS的外部服务、外部服务创建的逻辑Topic以及对逻辑Topic的订阅等信息。消息生产模块负责将外部服务发布到MPS的消息持久化存储到Kafka集群中。消息消费推送模块通过对Kafka集群中的消息进行消费并主动推送给外部服务来简化外部服务的消息获取逻辑。消息失败处理模块针对消息推送失败的情况提供了容错机制来避免消息丢失。缓存模块通过对数据库中的相关数据进行缓存来提高查询效率。目前消息发布订阅服务初始版本已经开发完成并被部署到生产环境中,越来越多的服务通过与MPS对接实现了性能和调用关系的优化。
其他文献
从西交利物浦大学可以管窥我国具有独立法人资格的中外合作办学机构之质量保障体系及其实施过程。西交利物浦大学构建了由中外合作双方政府主管部门和高校共同监控的外部质量
随着我国儿童近视患病率的逐年攀升,近视防控的策略与方法逐步增多,其中角膜塑形镜是倍受瞩目的矫正近视的技术方法之一。近年来,国内开展此项技术的机构不断增加,患儿及其家
新鲜水的工业除盐系统通常涉及膜分离(例如超滤、反渗透等),阴阳离子交换树脂床和储罐等。其中离子交换和膜分离单元可看作单入口双出口的半连续过程单元,具有间歇用水过程的
当前,随着公共租赁住房的大规模建设,政府财政资金压力巨大、资产无法盘活、资金使用效益低下、公共租赁住房租后运营管理水平落后等问题困扰着公共租赁住房的管理。为了解决
农业投入,是现代政府为实现经济的发展目标,对农业系统的资金注入行为。它通常以财政、信贷和价格支持等形式作用于农业。有关近代中国中央政府及地方政府的农业投入,学术界
以ARM7 S3C4480X微处理器为核心,设计了一种基于嵌入式实时操作系统μC/OS—Ⅱ的多通道数据采集系统。通过修改μC/OS—Ⅱ的源代码,达到ARM7单片机配置要求,实现μC/OS—Ⅱ在ARM7单
采用茶薪菇发酵麦麸制得不溶性膳食纤维和可溶性膳食纤维,研究不溶性膳食纤维的物理特性和可溶性膳食纤维对肠道内微生物作用。结果表明:发酵后不溶性膳食纤维的持水能力、溶
基于建筑工程行业迅速崛起,工程建设项目越来越多,由于岩土工程中的水文地质勘察关系到整体工程建设效果。基于此,本文阐述了岩土工程地质常见问题,并提出有效解决岩土工程勘
通过构建"三级目标、双重管控和一个评价"的管理体系,国网合肥供电公司形成了集规划、计划、预算、控制、评估为一体的全链条预算闭环管控体系。全面预算管理作为现代化企业
成语结构定型,数量庞大,含义丰富,反映着我国悠久的历史,以及中国人民独特的思维方式和生产生活方式。成语学习也一直是外国学生学习汉语的难点和兴趣点之一。论文主要就在泰