k8s源码分析-----Mux And Broadcaster

本文深入探讨了Kubernetes源码中Mux和Broadcaster的实现与应用,Mux作为多生产者的合并工具,而Broadcaster负责广播事件,两者在Kubernetes中扮演关键角色。

本文csdn链接:http://blog.csdn.net/screscent/article/details/51151550

在k8s源码中,有大量的用到了Mux和Broadcaster。这两个东西本身是很简单的,但越来越觉得,不把这两个东西讲解下,担心会有很多的东西会讲不清楚。故还是讲解下比较好。 

源码在k8s.io\kubernetes\pkg\util\config

Mux

先看下结构体以及构建的方法

我们再看下Merger

 

很简单Mux就两个东西,一个chan map还有一个Merger的interface。从用法上来看,其实Mux就是一个多生产者的合并。

 

怎么说呢,下面我们看看他的用法

 

上面的代码就是生产者的注册,并返回生产者传送物品的管道。

Mux通过chan map来保存传送管道,并对新的生产者都运行一个listen

 

listen很简单,就是一个中间的过程,将生产者传送过来的物品,通过Merge(合并操作)

 

Mux很简单,但在k8s有大量的应用。

 

Broadcaster

广播事件,这个在k8s中应用也非常的多。其实看下源码就知道其非常的简单

 

我们看下结构体以及构建方法

很简单就是一个listener的集合

 

listener其实就是一个带有OnUpdate的interface

 

下面我们看下用法

首先当然是注册listener

 

然后就是事件通知了。

 

 

总结

虽然这两个东西很简单,但应用非常多。如果对这不清楚的话,可能会对理解k8s源码造成一定的困难。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值