本发明涉及软件应用管理,具体为一种基于微服务架构的软件应用管理方法。
背景技术:
1、随着云计算技术的不断发展,微服务架构逐渐成为现代软件系统的主流架构之一。微服务架构通过将单一的应用程序拆分成多个小的、相互独立的服务单元,使得系统具有更好的扩展性和灵活性。这些服务单元可以独立开发、部署和扩展,从而提高了系统的可维护性和故障隔离能力。
2、尽管现有技术在微服务架构的应用管理方面取得了显著的进展,但仍存在一些不足和挑战:现有方法在服务实例注册和发现过程中,依赖大量的手动配置和管理,容易出现配置错误和管理不善的问题,影响系统的整体效率和可靠性,同时,现有的负载均衡器通常基于静态配置,无法根据实时的运行状态和负载情况进行动态调整,导致资源利用率不高,系统响应速度不够理想,且现有的扩展缩减策略通常基于静态阈值和固定规则,无法根据实际运行情况进行智能化调整,导致在某些场景下扩展和缩减操作不够灵活和高效。
技术实现思路
1、基于以上所述现有技术的缺点,本发明的目的是提供一种基于微服务架构的软件应用管理方法,以解决上述技术问题。
2、为实现上述目的,本发明提供如下技术方案:一种基于微服务架构的软件应用管理方法,包括:
3、获取微服务实例的启动信息,将所述启动信息发送至服务注册中心,生成注册信息包;
4、将所述注册信息包上传至配置管理中心,根据预设的认证算法验证上传节点,认证通过后,对注册信息包进行解析并分发配置信息,进行微服务实例注册,其中,将所述注册信息包上传至配置管理中心,根据预设的认证算法验证上传节点,包括:将所述注册信息包上传至配置管理中心时,使用基于时间的一次性密码算法生成一次性密码,将所述注册信息包、上传时间戳和一次性密码上传至配置管理中心;配置管理中心验证上传时间戳和一次性密码,验证通过后,获取上传节点的信任评分,当所述信任评分大于或等于预设的信任评分阈值时,配置管理中心接收注册信息包,认证通过;当所述信任评分小于预设的信任评分阈值时,配置管理中心生成人工审核信号,将所述注册信息包转发至人工审核;
5、服务实例注册成功后,更新服务发现列表,并根据负载均衡策略分配请求,其中,根据负载均衡策略分配请求,包括:当请求的微服务实例存在多个时,进行空微服务实例优先分配;当所有微服务实例均存在请求连接时,获取请求的属性参数,根据请求的属性参数计算所有微服务实例的请求评分,并根据请求评分将请求分配至请求评分最高的微服务实例;
6、实时监控微服务实例的运行状态,根据实时运行状态数据,触发扩展或缩减操作,动态调整微服务实例的数量。
7、本发明进一步设置为,获取微服务实例的启动信息,将所述启动信息发送至服务注册中心,生成注册信息包,包括:
8、在微服务实例启动时,获取启动信息,根据启动信息生成唯一标识符,将启动信息和唯一标识符按照预设的数据结构进行打包,获得启动信息包,其中,启动信息包括微服务实例的ip地址、端口号、服务名称、版本号和启动时间;
9、通过https协议与服务注册中心建立安全连接,通过http post请求将启动信息包发送到服务注册中心的接收接口;
10、服务注册中心的接收接口接收所述启动信息包,进行合法性和完整性验证;
11、验证通过后根据所述启动信息包生成注册信息包,其中,所述注册信息包包括微服务实例的启动信息和健康检查信息。
12、本发明进一步设置为,所述信任评分的计算逻辑为:,其中,为当前评估周期的信任评分,为上一评估周期的信任评分,为当前周期内的上传成功率,为当前周期内的上传失败率,和分别为当前周期内的上传成功率和上传失败率的权重系数,且,。
13、本发明进一步设置为,对注册信息包进行解析并分发配置信息,进行微服务实例注册,包括:
14、配置管理中心解析所述注册信息包,得到微服务实例的启动信息;
15、配置管理中心根据微服务实例的启动信息,生成配置信息和配置更新事件,将配置信息作为事件数据,使用事件总线将配置更新事件发布,其中,所述配置信息包括数据库连接信息、api密钥和负载均衡策略;
16、配置管理中心通过消息队列将配置信息发送至微服务实例,进行微服务实例注册。
17、本发明进一步设置为,根据请求的属性参数计算所有微服务实例的请求评分,请求评分的计算逻辑为:,其中,为请求评分,为请求的优先级评分,为请求的类型评分,为请求的地理位置和微服务实例的地理位置接近评分,为微服务实例请求队列的请求数量。
18、本发明进一步设置为,实时运行状态数据包括微服务实例的负载系数、请求的响应时间和数据库连接池使用率。
19、本发明进一步设置为,所述负载系数的计算逻辑为:,为负载系数,为微服务实例的数量,为第个微服务实例的cpu使用率,为第个微服务实例的内存使用率,为第个微服务实例的网络i/o使用率;请求的响应时间的计算逻辑为:,为请求的响应时间,为第个微服务实例的请求的响应时间,的计算逻辑为:,为第个微服务实例的请求数量,为第个微服务实例的第个请求的响应时间;数据库连接池使用率的计算逻辑为:,为数据库连接池使用率,为当前活跃的微服务实例的数据库连接数,为数据库连接池的微服务实例总连接数。
20、本发明进一步设置为,根据实时运行状态数据,触发扩展或缩减操作,动态调整微服务实例的数量,包括:
21、根据微服务实例的负载系数、请求的响应时间和数据库连接池使用率计算微服务实例状态指数,其中,微服务实例状态指数的计算逻辑为:,为微服务实例状态指数,、和为微服务实例的负载系数、请求的响应时间和数据库连接池使用率的权重系数;
22、当微服务实例状态指数大于第一微服务实例状态指数阈值时,扩展微服务实例的数量;
23、当微服务实例状态指数小于第二微服务实例状态指数阈值时,缩减微服务实例的数量。
24、本发明提供一种基于微服务架构的软件应用管理方法,所述方法通过获取微服务实例的启动信息,将所述启动信息发送至服务注册中心,生成注册信息包;将所述注册信息包上传至配置管理中心,根据预设的认证算法验证上传节点,认证通过后,对注册信息包进行解析并分发配置信息,进行微服务实例注册;服务实例注册成功后,更新服务发现列表,并根据负载均衡策略分配请求;实时监控微服务实例的运行状态,根据实时运行状态数据,触发扩展或缩减操作,动态调整微服务实例的数量,产生的有益效果包括:
25、1、自动化服务注册与发现:通过获取微服务实例的启动信息,自动生成标识符并将启动信息发送至服务注册中心,实现了服务实例的自动注册。避免了手动配置的繁琐步骤,提高了服务注册的准确性和效率;
26、2、改进的请求评估机制:通过引入请求评估和权重分配机制,根据服务请求的属性参数对所有微服务实例的请求评分,并根据评分将请求分配至评分最高的服务实例。确保了请求分配的合理性和高效性,提高了系统的响应能力;
27、3、动态负载均衡和扩展:根据微服务实例的运行状态和负载情况,动态调整实例的数量。通过实时监控服务实例的运行数据,当系统负载增加时,自动扩展服务实例;当负载减小时,自动缩减服务实例。保证了系统在高并发访问时的稳定性和响应速度,同时节约了资源。
28、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
1.一种基于微服务架构的软件应用管理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于微服务架构的软件应用管理方法,其特征在于,获取微服务实例的启动信息,将所述启动信息发送至服务注册中心,生成注册信息包,包括:
3.根据权利要求1所述的一种基于微服务架构的软件应用管理方法,其特征在于,所述信任评分的计算逻辑为:,其中,为当前评估周期的信任评分,为上一评估周期的信任评分,为当前周期内的上传成功率,为当前周期内的上传失败率,和分别为当前周期内的上传成功率和上传失败率的权重系数,且,。
4.根据权利要求1所述的一种基于微服务架构的软件应用管理方法,其特征在于,对注册信息包进行解析并分发配置信息,进行微服务实例注册,包括:
5.根据权利要求1所述的一种基于微服务架构的软件应用管理方法,其特征在于,根据请求的属性参数计算所有微服务实例的请求评分,请求评分的计算逻辑为:,其中,为请求评分,为请求的优先级评分,为请求的类型评分,为请求的地理位置和微服务实例的地理位置接近评分,为微服务实例请求队列的请求数量。
6.根据权利要求1所述的一种基于微服务架构的软件应用管理方法,其特征在于,实时运行状态数据包括微服务实例的负载系数、请求的响应时间和数据库连接池使用率。
7.根据权利要求6所述的一种基于微服务架构的软件应用管理方法,其特征在于,所述负载系数的计算逻辑为:,为负载系数,为微服务实例的数量,为第个微服务实例的cpu使用率,为第个微服务实例的内存使用率,为第个微服务实例的网络i/o使用率;请求的响应时间的计算逻辑为:,为请求的响应时间,为第个微服务实例的请求的响应时间,的计算逻辑为:,为第个微服务实例的请求数量,为第个微服务实例的第个请求的响应时间;数据库连接池使用率的计算逻辑为:,为数据库连接池使用率,为当前活跃的微服务实例的数据库连接数,为数据库连接池的微服务实例总连接数。
8.根据权利要求7所述的一种基于微服务架构的软件应用管理方法,其特征在于,根据实时运行状态数据,触发扩展或缩减操作,动态调整微服务实例的数量,包括:
