论文部分内容阅读
作为物联网产业结构的关键组成要素,物联网平台既要面对海量异构设备的接入需求,也要在设备、用户和云端之间搭建高效稳定的交互通道。因此,物联网平台既需要满足可扩展性,以支持新的异构协议设备的接入,也需要满足可用性,为大量设备和用户的交互提供良好的服务质量。结合微服务架构和Docker容器技术对物联网平台进行构建和部署,是实现平台可扩展性和可用性的可行方案。本文以笔者所在研究课题组的EMCloud物联网平台为背景,对实现平台可扩展性和可用性过程中存在的问题进行研究,具体的工作和创新如下:
(1)对EMCloud物联网平台的可扩展性和可用性需求进行分析,提出了物联网平台在构建、部署和运行过程中存在的具体问题,研究了与问题相关的技术,并提出本文的设计思路。
(2)构建和部署支持多协议的微服务化物联网平台。对基于单体架构的物联网平台进行微服务划分,在平台接入层以微服务的形式提供多协议支持,并制定符合平台微服务特性的服务通信机制,使平台满足可扩展性。针对物联网平台中不同微服务所需实例资源数量不同的问题,提出基于分层模糊综合评价方法的微服务冗余度模型,评估微服务的冗余度,并根据冗余度进行服务的初始化部署.构建微服务集群,保证平台的可用性。
(3)设计并实现一种基于会话标识的负载均衡调度策略。针对物联网平台的微服务集群需要满足负载分配的均衡性、局部性和会话粘性的需求,本文提出Maglev-Round负载均衡调度算法,并基于设备会话标识实现设备网络地址变动时的会话粘性。
(4)设计并实现一种基于服务负载和性能预测的容器动态调度策略。针对因服务的访问负载动态变化而导致部署的容器实例数不能满足服务需求的问题,本文结合服务负载预测模型和服务性能预测模型进行服务性能状态的预测,并根据预测值进行容器调度决策,实现服务的水平伸缩。
最后,本文使用微服务初始化部署策略部署物联网平台,并对平台的基础功能、多协议支持特性、负载均衡调度策略以及容器动态调度策略进行测试,验证了EMCloud平台的可扩展性和可用性。
(1)对EMCloud物联网平台的可扩展性和可用性需求进行分析,提出了物联网平台在构建、部署和运行过程中存在的具体问题,研究了与问题相关的技术,并提出本文的设计思路。
(2)构建和部署支持多协议的微服务化物联网平台。对基于单体架构的物联网平台进行微服务划分,在平台接入层以微服务的形式提供多协议支持,并制定符合平台微服务特性的服务通信机制,使平台满足可扩展性。针对物联网平台中不同微服务所需实例资源数量不同的问题,提出基于分层模糊综合评价方法的微服务冗余度模型,评估微服务的冗余度,并根据冗余度进行服务的初始化部署.构建微服务集群,保证平台的可用性。
(3)设计并实现一种基于会话标识的负载均衡调度策略。针对物联网平台的微服务集群需要满足负载分配的均衡性、局部性和会话粘性的需求,本文提出Maglev-Round负载均衡调度算法,并基于设备会话标识实现设备网络地址变动时的会话粘性。
(4)设计并实现一种基于服务负载和性能预测的容器动态调度策略。针对因服务的访问负载动态变化而导致部署的容器实例数不能满足服务需求的问题,本文结合服务负载预测模型和服务性能预测模型进行服务性能状态的预测,并根据预测值进行容器调度决策,实现服务的水平伸缩。
最后,本文使用微服务初始化部署策略部署物联网平台,并对平台的基础功能、多协议支持特性、负载均衡调度策略以及容器动态调度策略进行测试,验证了EMCloud平台的可扩展性和可用性。