首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于Kafka的消费者端负载均衡方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:北京工业大学

摘要:本发明公开了一种基于Kafka的消费者端负载均衡方法,属于消息处理技术领域。为解决现有的消费者端负载均衡方法中消费者互相孤立,不能高效地处理由于消费者宕机引起的消费者消息处理能力下降问题,提出一种改进的消费者端负载均衡方法。在Kafka消息传输系统中从生产者集群生产消息、broker存储消息到消费者集群接收消息的整个流程中,通过由负载均衡开始时选出的协调者统一管理分配消费者和分区的对应情况,并且根据分区负载情况制定不同的分配方案,很好的解决了现有的负载均衡策略中消费者互相孤立的问题,能帮助Kafka系统高效快捷地处理突发的负载均衡事件,提高了生产环境下的Kafka的适用性。

主权项:1.一种基于Kafka的消费者端负载均衡方法,基于生产者集群、消费者集群、Kafka集群构成的Kafka分布式日志系统,其中,生产者集群是由若干向Kafka主题发布消息的生产者组成的,消费者集群是由若干订阅Kafka主题消息的消费者组成的,Kafka集群由若干独立的Kafka服务器也就是broker组成的,broker用于接受来自生产者的消息并存储至服务器磁盘,在消息传输过程中,由于系统中消费者组的某消费者宕机而导致其他消费者自动重新分配订阅主题分区,该过程称为负载均衡,其特征在于,包括以下步骤:1生产者集群生成消息并将消息发布到broker中;2broker接受并发送分布式存储消息至服务器磁盘;3消费者集群向Kafka集群订阅消息;4Kafka集群将消息发送给消费者集群;5协调者获取分区和消费者信息,并定时向所有消费者发送心跳检测,所述的协调者为Kafka在所有消费者组中存活时间最长的消费者,若存活时间一致则随机选择一位消费者作为协调者;所述的协调者用于接收每个消费者发送的订阅信息,由协调者统一分配分区,并确定分区与消费者的对应关系;6当协调者接收不到某个消费者返回的心跳检测信号,说明此时消费者出现异常情况,则立即触发负载均衡,由协调者检测异常消费者所在的消费者组和异常消费者所对应分区的负载情况;若有负载最大的分区,则将负载最大分区所在的主题中所有分区排序,存于数据表中,分区的数量为n,并将该主题对应的消费者组中所有消费者倒序排序,消费者的数量为m,若此时n=m,则将分区和消费者一一对应;若此时nm,则一个消费者对应nm个分区,当nm除不尽时,每个消费者对应nm向上取整后个分区,且无论nm是否为整数,分区分配至最后一次时,剩余的分区分配给最后的消费者;若没有负载最大的分区,则会增加或减少x个消费者,满足变更后消费者数量等于分区数量的最小整数倍的关系,再按照顺序重新将分区平均分配给消费者;7消费者端负载均衡完成后恢复消息传输过程。

全文数据:

权利要求:

百度查询: 北京工业大学 一种基于Kafka的消费者端负载均衡方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。