论文部分内容阅读
随着互联网的广泛发展,软件应用对并发量和服务质量要求越来越高,推动着系统架构不断演变。近年来微服务架构以其优秀的组织结构和敏捷开发性得到了开发人员的广泛青睐。但由于微服务架构的集群结构和工作机制的变化,为了在高并发情况下保持系统的高效性和可靠性,设计更加适用于微服务系统的改进方案显得尤为重要。经观察研究,以本人参与的武陵山片区农资备案项目为基础,结合回归分析以及流量限制算法,从负载均衡和流量限制两个技术点出发,分别提出并设计提高微服务系统高效性和可靠性的两种改进方案。针对微服务系统高效的请求调度,提出一种基于Ribbon负载均衡器及回归预测模型的动态负载均衡方案。微服务系统中节点数量较多且性能配置参差不齐,高并发情况下系统负载压力增大,系统资源利用率难以保证,导致请求响应时间过高,需要高效的负载均衡算法来解决。目前应用广泛、性能较佳的负载均衡策略如最小响应时间策略,其原理是向节点发出探测数据包,根据反馈情况调度请求。但高并发情况下这些策略会导致系统较大的网络开销。因此对微服务架构的负载均衡机制进行研究后,提出一种适用于微服务系统的高效负载均衡算法。该算法结合Ribbon负载均衡器调度机制,使用回归分析方法,对历史请求数据和节点性能监控数据进行回归训练,得到请求响应时间预测模型。应用此预测模型计算每个微服务节点请求响应时间预测值,将请求转发给预测结果最小的节点。该算法减少了大规模请求探测开销,提高了微服务系统负载均衡调度的效率。通过实验验证,证明本算法在中小规模微服务集群且并发量较高时适用,能减少系统平均响应时间,且提高整体资源利用率及运行效率。为提高微服务系统可靠性,设计了一套基于Zuul网关及令牌桶算法的流量限制服务。路由网关是微服务系统的数据边界,高并发情况下大量数据通过网关进入系统,导致系统负载压力过大,需要高效的流量限制服务来解决。现有的Nginx等网关软件提供了较为精细的API限流服务,但应用于微服务系统时限流策略单一、个性化策略配置困难;且在非高并发情况下限流服务的额外开销会显著增加负载压力。因此利用Zuul网关的过滤器机制,结合令牌桶算法设计并实现了高性能流量限制服务。该限流服务提供多种限流策略,利用配置中心独立配置各API接口的个性化限流策略;此外通过服务监控机制动态管理,在系统负载压力较小时自动关闭限流服务,减少额外开销。通过性能测试对比实验,验证了多种限流策略的实现,并且在高并发情况下提高了微服务系统的可靠性。