【技术实现步骤摘要】
一种基于微服务架构的物联网平台构建方法
本专利技术涉及物联网平台构建领域,具体涉及一种基于微服务架构的物联网平台构建方法。技术背景微服务架构将单一应用程序划分为多个小的服务进行独立开发,服务与服务之间通过轻量级的通信机制实现解耦合。这些服务以具体业务进行构建(根据业务上下文选择适当的构建技术和开发工具),并通过自动化部署机制进行服务的部署。Docker容器技术可以为微服务架构系统的实现、部署和维护提供可行的解决方案。相比虚拟机,容器在启动速度、弹性伸缩和资源消耗等方面都有明显优势,更适合微服务架构的应用。基于以上优点,Docker可以有效满足微服务系统在分布式环境中进行多节点多实例运行、部署和维护的需求。同时,采用一个宿主机上部署多个Docker容器,每个容器单独运行一个微服务的模式,可以避免运行虚拟机所带来的设备资源浪费。因此,本专利技术提供一种基于微服务架构的物联网平台构建方法,并针对物联网平台构建过程中所涉及的部署和调度问题,给出相应的解决方案。
技术实现思路
本专利技术的目的在于将微服务架构和Docker容器技术应用到物联网平台中,解决物联网平台的可扩展性和可用性不足的问题,构建多实例部署的分布式物联网平台。本专利技术至少通过如下技术方案之一实现。一种权利要求1所述的物联网平台的构建方法,包括以下步骤:S1、对物联网平台划分微服务层级,分别为接入层、服务层、中间层和基础层;S2、微服务部署模块使用容器集群管理工具DockerSwarm部署物联网平台的微服务集群,并将微服务信息注册到服务发现中心;S3、通过负载均衡调度模块将客户端请求分发给物联网平台 ...
【技术保护点】
1.一种基于微服务架构的物联网平台构建方法,其特征在于,包括以下步骤:S1、对物联网平台划分微服务层级,分别为接入层、服务层、中间层和基础层;S2、微服务部署模块使用容器集群管理工具Docker Swarm部署物联网平台的微服务集群,并将微服务信息注册到服务发现中心;S3、通过负载均衡调度模块将客户端请求分发给物联网平台的微服务;S4、接着服务负载预测模块通过差分整合自回归移动平均模型(Autoregressive Integrated Moving Average model,ARIMA)分析时间序列,计算服务负载预测值。S5、服务性能预测模块根据服务负载预测值和实例数生成性能预测值;S6、容器动态调度模块根据性能预测值进行微服务的水平伸缩。
【技术特征摘要】
1.一种基于微服务架构的物联网平台构建方法,其特征在于,包括以下步骤:S1、对物联网平台划分微服务层级,分别为接入层、服务层、中间层和基础层;S2、微服务部署模块使用容器集群管理工具DockerSwarm部署物联网平台的微服务集群,并将微服务信息注册到服务发现中心;S3、通过负载均衡调度模块将客户端请求分发给物联网平台的微服务;S4、接着服务负载预测模块通过差分整合自回归移动平均模型(AutoregressiveIntegratedMovingAveragemodel,ARIMA)分析时间序列,计算服务负载预测值。S5、服务性能预测模块根据服务负载预测值和实例数生成性能预测值;S6、容器动态调度模块根据性能预测值进行微服务的水平伸缩。2.根据权利要求1所述的物联网平台构建方法,其特征在于,步骤S1所述的接入层提供异构设备和平台用户的终端接入组件,以及提供终端访问认证组;所述服务层提供物联网平台与智能设备、用户APP、管理平台和第三方平台的连接和通信组件,通信组件包括应用程序接口(ApplicationProgrammingInterface,API)服务组件、中控服务组件和中转服务组件;所述中间层包含不直接与终端交互的业务逻辑组件,业务逻辑组件包括数据分析组件和日志管理组件;所述基础层为接入层、服务层和中间层提供所需的基础服务组件,基础服务组件包括内存数据库、关系型数据库和消息队列。3.根据权利要求1所述的物联网平台构建方法,其特征在于,步骤S2所述的DockerSwarm工具是Docker容器的内置集群管理工具,微服务部署模块使用DockerSwarm工具构建Docker容器集群,其中每个容器集群单独部署和运行一个微服务,并采用DockerSwarm工具中的调度器内置的Spread策略,选择Docker容器的部署节点。4.根据权利要求1所述的物联网平台构建方法,其特征在于,步骤S2所述的服务发现中心用于存储当前容器集群的节点和容器状态,当节点中的容器加入或者退出集群时,节点上的服务注册工具向服务发现中心上报相应事件,服务注册中心将根据上报的事件更新集群状态。5.根据权利要求1所述的物联网平台构建方法,其特征在于,步骤S3所述的负载均衡调度模块包括服务发现模块、容器注册模块、负载均衡模块和配置更新模块;所述服务发现模块采用Consul集群作为容器集群的服务发现中心,Consul为Docker容器集群提供节点和容器实例的注册和发现服务;所述Consul集群采用Consul开源工具构建,其存在两种服务节点,分别为ConsulServer和ConsulClient,ConsulServer用于保存和复制配置数据,并与ConsulClient以及数据中心通信;ConsulClient则将数据访问请求转发到ConsulServer集群中,对外提供键值对数据的读写功能;ConsulServer集群的构建方式为在宿主机上使用Consul开源工具部署和运行一个Server节点,在运行时指定其为Server模式,如果其不是第一个server节点,则使用加入命令配置第一个Server节点的地址,与第一个Server节点组成集群;Consul集群中所有Swarm工作节点和容器实例的信息都存储在ConsulServer集群中,Consul集群使用Consul集群的表现层状态转换应用程序接口(RESTfulAPI)访问ConsulClient,ConsulClient将请求转发到同一数据中心的ConsulServer,完成Docker容器和节点信息的查询和增删功能;容器注册模块通过部署服务注册工具Registrator实现节点上Docker容器信息的注册和注销,Registrator监听所在Docker引擎的容器的启动和停止事件,并将Docker容器信息以consulservice的形式注册到consul集群中,物联网平台在每个Swarm工作节点运行Registrator工具,以监听并转发容器生存状态到服务发现中心;负载均衡模块采用Nginx负载均衡器实现物联网平台的负载均衡,当有客户端请求到达时,Ngin...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。