论文部分内容阅读
作为设备和应用服务之间的连接枢纽,物联网平台既要面对大量设备的连接需求,也要向用户提供高可用的应用服务以保证良好的用户体验。因此,高可用性是物联网平台的关键需求。基于冗余备份技术构建高可用集群,并且通过水平扩展技术扩展集群,是维护应用可用性的常用解决方案。微服务架构能够对物联网平台的复杂功能解耦,而Docker容器技术借助操作系统层的虚拟化实现资源的隔离,既可以很好地解决微服务架构对应用要求独立部署、独立运行的服务部署问题,也能够充分利用机器资源和缩减应用部署的时间成本。国内外对微服务架构和容器技术在维护物联网平台高可用性方面的研究尚未成熟,主要存在运维效率低下、运维成本高、资源和时间消耗量大等问题。本文以实验室项目的NZCloud物联网平台为背景,针对微服务架构和容器技术在维护物联网平台高可用性相关研究中存在的问题,进行的工作如下:(1)构建基于微服务架构的高可用物联网平台。研究微服务架构的服务通信、服务部署和服务发现方案,通过对物联网平台的组件进行服务拆分,制定适应服务特性的服务通信方式以及采用容器技术部署服务,构建了基于微服务架构的高可用物联网平台。(2)设计并实现一种基于物联网平台微服务等级的容器初始化部署策略。针对现有编排方案对微服务统一对待存在服务资源分配不足的问题,提出了物联网平台微服务等级模型;在此基础上设计并实现微服务等级与容器冗余度相关联的容器部署策略。(3)设计并实现一种基于负载预测的容器动态调度策略。针对现有容器集群不能因负载情况自动调整资源存在运行阶段负载能力不足的问题,首先提出容器负载监控模型,实现对容器负载数据的实时采集和持久化;然后在此基础上实现对负载数据的分析和预测生成,设计并实现基于预测值的容器动态调度策略,根据实时负载自动扩展容器集群。(4)将提出的容器初始化部署策略和容器动态调度策略应用于基于微服务架构的NZCloud物联网平台,通过负载测试进行对比实验,验证了这两种策略分别在部分容器节点失效的情况和容器面临高负载的情况下都能够保持物联网平台的高可用状态。本文通过微服务架构、Docker容器部署和Docker容器动态调度的研究,为维护物联网平台高可用性的研究提供了借鉴,有助于推进物联网平台的发展。