#介绍
Beehive是kubeedge用于各模块通信的框架,基于go channel实现,并且支持模块组通信。
#注册流程(kubeedge云端模块举例)
首先执行core.Run()之前,会调用各个模块的init函数进行注册,比如controller模块的注册
通过查看core.Register函数可知,模块会被记录到modules这个map
当模块注册完毕后,我们再来看core.Run函数,内容很简单,只包含了模块启动和停止的两个函数调用,这里我们主要关注模块的启动。启动也很简单,首先是获取(创建)上下文,上下文包含模块和消息两个接口的实现,都是基于go channel的实现,然后是遍历注册模块的map变量 modules,将模块添加到上下文中,然后调用模块的Start函数