介绍
Description
当控制器的多个实例运行时,此模块提供高可用性支持。它用于发布和订阅来自多个控制器的更新,并使用ISyncService来存储数据。它通过让所有控制器访问控制器中所有其他模块以有效方式发布的更新来同步控制器之间的状态。此外,它还运行一个领导人选举过程,以使模块能够在运行多个控制器的分布式系统中执行基于角色的编程,并能够相互通信。该模块的主要目的是为能够构建容错系统奠定基础,该容错系统能够检索失败的控制器的状态并将其重新实例化到该状态。
Services Provided
IHAControllerService
IHAWorkerService
Service Dependencies依赖的服务
IFloodlightService
ILinkDiscoveryService
IFloodlightProviderService
ISyncService
ITopologyService
Java File
该模块在net.floodlightcontroller.hasupport中实现。
How it works
- HAcontroller:这是iFloodLight模块,它调用AsyncElection和ControllerLogic线程,这些线程用于获取网络范围的领导者。
- AsyncElection:包含一个在所有活动控制器中选择领导者的领导者选择协议。它使用NetworkNode与其他控制器通信。

本文档详细介绍了floodlight控制器的高可用性模块,该模块在多控制器环境中提供服务,通过ISyncService进行数据存储和同步。模块包括领导者选举过程、故障检测、组件如AsyncElection和ControllerLogic,以及如何处理通信和状态同步。其主要目标是支持容错系统,当控制器失败时能恢复状态。然而,存在限制,如非多数情况下的领导者选举问题和可扩展性的局限性。
最低0.47元/天 解锁文章
:controller module详解----High Availability Support&spm=1001.2101.3001.5002&articleId=98307487&d=1&t=3&u=f91d9b52e12049c88b0c2f384eb6f323)
832

被折叠的 条评论
为什么被折叠?



