进度数据池的搭建与使用
进度数据池是后端应用程序获取任务进度数据和云计算服务软件更新任务进度数据的地方,对应的,需要在Redis中创建一个键作为进度数据池的标识(不同类型的任务可以创建不同的键),进度数据池的键对应的值的数据类型为哈希表,哈希表的键为任务ID。
通过指定进度数据池的标识与任务ID,后端应用程序和云计算服务软件即可获取和更新进度数据。后端应用程序获取进度数据和云计算服务软件更新进度数据的流程如图5.30所示。其中,云计算服务软件更新的间隔需要按实际情况而定,一般可以定在1~10s。
图5.30 后端应用程序获取进度数据和云计算服务软件更新进度数据的流程
任务进度数据一般为JSON格式,这样能做到灵活配置。云计算服务软件在更新进度数据之前,需要把任务进度数据转换成字符串。而后端应用程序在获取到任务进度数据后,需要把字符串转换成JSON格式。进度消息一般包含任务标识、任务ID、任务进度数据等,如代码5.26所示。
代码5.26 进度消息示例
状态数据池的搭建与使用
状态数据池是监控软件获取状态数据和云计算服务软件更新状态数据的地方,对应的,每个监控软件都需要在Redis中创建一个键作为状态数据池的标识,状态数据池的键对应的值的数据类型为哈希表,哈希表的键为云计算服务软件的身份ID,身份ID是监控软件在启动云计算服务软件时生成的一个唯一标识。
通过指定状态数据池的标识与身份ID,监控软件和云计算服务软件即可获取和更新状态数据。监控软件获取状态数据和云计算服务软件更新状态数据的流程如图5.31所示。其中,监控软件和云计算服务软件的定时间隔需要按实际情况而定,一般可以定在1~10s。
图5.31 监控软件获取状态数据和云计算服务软件更新状态数据的流程
状态数据一般为JSON格式,这样能做到灵活配置。云计算服务软件在更新状态数据前,需要把状态数据转换成字符串。而监控软件在获取到状态数据后,需要把字符串转换成JSON格式。状态数据一般包含身份ID、云计算服务软件类型、运行状态、当前时间戳、任务标识、任务标识、任务ID及其他状态数据等,如代码5.27所示,其中,监控软件一般是通过状态数据的时间戳来判断该云计算服务软件是否还在正常运行。
代码5.27 状态数据示例
本文给大家讲解的内容是云计算服务架构:进度数据池与状态数据池的搭建和使用
下篇文章给大家讲解的内容是云计算服务架构监控软件的构造
感谢大家的支持!
领取专属 10元无门槛券
私享最新 技术干货