eclipse hawkbit调研笔记

eclipse hawkbit是一个在IoT场景,用于OTA发布的解决方案,项目地址,国内关于这个项目介绍地还比较少,我做了一些调研,记录于此。

一、名词解释

  • DistributionSet: 表示一次部署过程中,待部署产物的集合。distributionSet是对部署包的进一步抽象,可以包括多个app的发布包,泛指待部署的东西。
  • SoftwareModule: DistributionSet中,某一个待发布app的描述,app + version,相当于每一次发布都会有一个softwareModule.
  • Artifact: SoftwareModule的具体二进制包,描述了具体发布包的文件名、归属的softwareModule、包的MD5/SHA1值。
  • Target: 目标设备,distributionSet的部署实体。
  • Action: 具体在Target上执行的动作
  • Rollout: 部署的流程,定义要部署的DistributionSet、选取部署设备(target)的条件、部署窗口、失败阈值等。部署流程会有状态机(CREATING, READY, PAUSE等)。
  • RolloutGroup/DeploymentGroup: 部署流程支持分批部署,rollout group或deployment group代表一个分批的部署流程。

二、Target状态机

这个状态机,只是Target在“发布流程”中的状态流转图。其中

  • UNKNOWN是从页面上录入的设备的初始状态
  • REGISTERED是指自己注册上来设备的初始状态
  • PENDING: 待执行
  • IN_SYNC: 执行成功
  • ERROR: 执行失败
image.png

三、部署流程(Rollout)管理

数十万设备的大规模物联网场景中的软件更新操作需要做特殊的处理。包括:

  • 通过云上的hawkBit集群的横向扩展来实现技术可伸缩性。
  • 全球Artifact的交付能力。
  • 通过以下方式实现功能可伸缩性:
    • 可以稳定支持存在大量设备的发布流程。
    • 可监控部署进度。
    • 在许多设备出现问题时紧急关闭发布。
  • 报告功能,全面了解每个时间点的部署进度。

部署管理目前支持以下功能:

  • 创建,更新和开始部署流程Rollout。
  • 根据Target filter功能选择Target作为待部署的设备列表。
  • 选择DistributionSet。
  • 将输入的Target自动分批成多个deployment group。

对于Rollout的状态流转图见下方,


image.png

hawkbit的rollout是按照deployment group的粒度分批执行的,其中前一个批次的执行状态,决定了是否继续后续的部署批次。部署流程可以监控到每个分批整个部署流程的进度和状态。在一批部署中,如果超出定义的错误阈值后,本批部署会失败,整个部署流程会变成PAUSED状态暂停。
deployment group的状态机,


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,711评论 19 139
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,383评论 0 5
  • 20171009 亲爱的天天,今天回家路上你就和我聊天,聊你被老师喷了一脸的口水感受,聊你时不时被老师拍一下的感受...
    湛蓝语语阅读 174评论 0 1
  • 幸福的家庭都是相似的,不幸的家庭却各有各的不幸。 这一周,我们花点时间谈谈家庭系统背后的规律。 德国家庭治疗专家、...
    峰子哥哥阅读 709评论 0 2
  • The original : 今天,剪纸和古代一样是一项技术性很高的艺术形式,它需要创造力、技巧和经验。无论是简单...
    喀C阅读 404评论 0 1

友情链接更多精彩内容