【技术实现步骤摘要】
分布式、容器化kafka集群的调度方法、电子设备及存储介质
[0001]本公开涉及计算机
,具体地涉及一种分布式、容器化kafka集群的调度方法、系统、电子设备及存储介质。
技术介绍
[0002]etcd是一种分布式key/value(键/值)存储系统,名称“etcd”源自Unix的“/etc”文件夹和“d”分布式系统,etcd用于kubernetes等分布式系统架构当中。kafka是Apache软件基金会开发的一个开源流处理平台,主要由scala以及Java语言编写,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。Kafka
‑
broker:由多个kafka
‑
broker组成一个kafka集群,最小的kafka集群至少要包含不小于3个broker实例。Zookeeper是一个分布式、开源的分布式应用程序协调服务,为分布式应用提供一致性服务。在kafka集群当中,kafka依赖zookeeper来维护集群成员信息(kafka集群的元数据存储)。Kafka
‑
proxy属于kafka
‑
broker的代理层(kafka官方未提供此组件),主要起着负载均衡、权限控制等作用。容器是一个独立的运行环境,能对应用程序及其关联性进行隔离,本质上即是一组受到资源限制、彼此之间相互隔离的进程。Kubernetes用来管理容器集群,Kubernetes内部分为master节点,以及node节点,Master是管理者角色,n ...
【技术保护点】
【技术特征摘要】
1.一种分布式、容器化kafka集群的调度方法,所述分布式、容器化kafka集群包括用于分布式集群管理的管理器kube
‑
apiserver、用于协同对分布式、容器化kafka集群进行调度的第一调度器scheduler和第二调度器kafka
‑
ex
‑
scheduler、多个用于中介服务的kafka
‑
broker应用实例、多个用于提供一致性服务的Zookeeper组件,其特征在于,所述分布式、容器化kafka集群还包括多个作为kafka
‑
broker应用实例的代理层的kafka
‑
proxy组件、多个用于监测kafka
‑
broker应用实例和kafka
‑
proxy组件的Prober
‑
agent组件、用于接收Prober
‑
agent组件监测信息的Judger
‑
server组件,所述调度方法包括步骤:Prober
‑
agent组件监测对应的kafka
‑
broker应用实例的状况并将监测异常信息发送到Judger
‑
server组件,Judger
‑
server组件将监测异常信息写入管理器kube
‑
apiserver并存储到etcd存储中;第二调度器kafka
‑
ex
‑
scheduler从etcd存储中监听到所述监测异常信息后根据第一预设策略进行kafka
‑
broker应用实例的调度以停用异常的kafka
‑
broker应用实例、启用新的kafka
‑
broker应用实例,第一预设策略包括:第二调度器kafka
‑
ex
‑
scheduler联动名字服务,将异常的kafka
‑
broker应用实例的pod对应的IP进行屏蔽,使线上流量不再发往此pod上,并在同机房内、不同机柜和不同TOR位置重新部署新的kafka
‑
broker应用实例的pod且在prober
‑
agent检测到所述新的pod正常后联动名字服务新增对应IP,使流量引入到新的kafka
‑
broker的pod当中。2.根据权利要求1所述的分布式、容器化kafka集群的调度方法,其特征在于,还包括:若Prober
‑
agent组件正常运行,所述Prober
‑
agent组件监测同机部署的kafka
‑
proxy组件的进程是否异常退出,若异常退出则将异常退出信息写入管理器kube
‑
apiserver并存储到etcd存储中;第二调度器kafka
‑
ex
‑
scheduler从etcd存储中监听到所述监测异常信息后根据第二预设策略进行kafka
‑
proxy组件的调度以停用异常的kafka
‑
proxy组件、启用新的kafka
‑
proxy组件,第二预设策略包括:第二调度器kafka
‑
ex
‑
scheduler联动名字服务,将异常的kafka
‑
proxy组件的pod对应的IP进行屏蔽操作,使线上流量不再发往此pod上,并在同机房内重新部署一个新的kafka
‑
proxy组件的pod在prober
‑
agent检测此新的pod正常后联动名字服务新增对应IP,使流量引入到新的kafka
‑
proxy组件的pod当中。3.根据权利要求1所述的分布式、容器化kafka集群的调度方法,其特征在于,还包括:Prober
‑
agent组件运行不正常时,judger
‑
server组件对运行不正常的prober
‑
agent进行探活,若prober
‑
agent组件没在设定周期内上报心跳,则judger
‑
server组件将所述Prober
‑
agent组件同机部署的kafka
‑
proxy组件的进程状态设置为异常退出,并将异常退出信息写入管理器kube
‑
apiserver并存储到etcd存储中;第二调度器kafka
‑
ex
‑
scheduler从etcd存储中监听到所述监测异常信息后根据第三预设策略进行kafka
‑
proxy组件的调度以停用异常的kafka
‑
proxy组件、启用新的kafka
‑
proxy组件,第三预设策略包括:第二调度器kafka
‑
ex
‑
scheduler联动名字服务,将异常的kafka
‑
proxy组件的pod对应的IP进行屏蔽操作,使线上流量不再发往此pod上,并在同机房内重新
部署一个新的kafka
‑
proxy组件的pod并在prober
‑
agent检测到此新的pod正常后联动名字服务新增对应IP,使流量引入到新的kafka
‑
proxy组件的pod当中。4.根据权利要求1所述的分布式、容器化kafka集群的调度方法,其特征在于,还包括:judger
‑
server组件通过远程过程调用对zookeeper组件进行健康检查,若zookeeper组件异常,则根据第四预设策略进行zookeeper组件的调度以停用异常的zookeeper组件、启用新的zookeeper组件,第四预设策略包括:Judger
‑
server组件联动名字动服务,屏蔽异常的zookeeper组件的ip,确保kafka
‑
broker应用实例不会再发起连接到异常的zookeeper组件,并在同机房内、不同机柜和不同TOR重新部署一个新的zookeeper组件且在Judger
‑
server组件检测此新的zookeeper组件正常后联动名字服务新增对应IP以及端口信息,使kafka
‑
broker应用实例可以解析到新的zookeeper组件。5.根据权利要求1所述的分布式、容器化kafka集群的...
【专利技术属性】
技术研发人员:胡东旭,陈存利,赵鹏,
申请(专利权)人:度小满科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。