【软考论文】论服务网格在云原生架构中的作用及其实践

【软考论文】论服务网格在云原生架构中的作用及其实践

本文以该项目建设为例,讨论了服务网格提供的关键功能,包括服务发现、负载均衡、安全性、监控和故障恢复、以及在本系统中的具体应用以及遇到的问题和解决方案。项目于2021年11月顺利通过验收上线运行,已稳定运行2年多的时间,获得用户一致好评。

摘要

2021年初,我所在的研发部承担了公司自研xxxx项目的建设,为客户公司提供一站式的股权管理服务。我在该项目中中承担架构设计师的职务,主要负责该项目的系统架构、技术方案评估与实现、项目立项论证等工作。平台为上市公司提供资金管理、财富管理、税务服务等一站式XXXX相关服务的支持,涵盖股权管理、估值管理、多样化激励方案信息化管理、税务与财务咨询服务及系统个性化定制服务等。

本文以该项目建设为例,讨论了服务网格提供的关键功能,包括服务发现、负载均衡、安全性、监控和故障恢复、以及在本系统中的具体应用以及遇到的问题和解决方案。项目于2021年11月顺利通过验收上线运行,已稳定运行2年多的时间,获得用户一致好评。

正文

国务院发布的《关于支持浙江高质量发展建设共同富裕示范区的意见》中提到了浙江到2025年和2035年要实现的共同富裕相关目标。越来越多的上市企业选择对员工开展XXXX计划。我所在的某集团公司,为了集团的发展,需要在XXXX相关服务这一赛道上保持竞争力,根据这一目标,XXXX管理平台这一项目应运而生。2021年初,我所在的研发部承担了公司自研xxx项目的建设,为客户公司提供一站式的股权管理服务。我在该项目中中承担架构设计师的职务,主要负责该项目的系统架构、技术方案评估与实现、项目立项论证等工作。整个平台为上市公司提供资金管理、财富管理、税务服务等一站式XXXX相关服务的支持,涵盖股权管理、估值管理、多样化激励方案信息化管理、税务与财务咨询服务及系统个性化定制服务等,更高效、更便捷地为企业客户提供“一篮子”金融解决方案。整个平台涉及证券、税务、银行、电子签署等过个复杂业务逻辑,业务流程复杂、系统可靠性和可扩展性要求较高,影像的范围比较广。整个平台以多租户的模式,进行统一的管理及日常运营,通过组织机构管理提供给上市公司进行业务的管理和服务。

服务网格在云原生架构中提供了以下关键功能:服务发现: 通过服务注册和服务发现机制,自动维护服务实例的状态信息,微服务之间可以动态发现并连接到正确的服务实例。负载均衡: 服务网格将客户端流量分发到后端多个服务实例,实现负载均衡,提高系统的吞吐量和可用性。支持基于一致性哈希、最小连接数等多种负载均衡算法。安全通信: 服务网格可以在服务之间建立安全的传输层连接,实现加密、认证和授权等安全功能,避免了在每个微服务中重复实现相同的安全逻辑。监控和可观测性: 服务网格可以收集微服务的监控数据、日志及分布式跟踪信息,提供全面的可观测能力,有助于服务发现、故障排查和性能优化。流量控制: 服务网格支持限流、熔断、重试等机制,保护上游服务不会被下游服务的异常行为拖垮,提高了系统的健壮性和可靠性。灵活策略配置:服务网格通常提供统一的配置和策略管理平面,可以灵活地修改和更新服务网格的策略,如路由规则、流量拆分等,无需重新部署服务。常见的服务网格实现包括 Istio、Linkerd、AWS App Mesh、Consul 等。

在项目中,我们采用了Istio作为服务网格的实现方案。Istio是一个开源的服务网格项目,提供了丰富的功能和灵活的配置选项。下面将结合我们的项目实践,从服务注册和发现、熔断、安全认证、监控和日志等方面详细阐述Istio在项目中的具体应用。

在项目的初期阶段,我们进行了深入的需求分析,以确保系统设计能够精确反映核心业务需求。基于这一分析,我们采取了模块化的设计原则,将系统划分为六个独立的微服务,以实现业务功能的明确划分和避免冗余开发。这些服务包括:用户权限管理服务、XXXX管理服务、资金归集服务、税务缴纳服务、电子签署服务、消息推送服务。然后利用Istio的自动服务注册和发现机制,我们实现了微服务的动态注册至Kubernetes集群,并为每个服务配置了唯一的访问接口。通过Istio的Sidecar代理模式,我们优化了服务间的通信流程,使开发者能够集中精力于业务逻辑的实现,而不必深陷服务间通信和管理的复杂性之中。这种设计不仅提升了开发效率,也加强了系统的可维护性和可扩展性。

在熔断机制上,Istio的熔断机制在服务出现异常时发挥了关键作用,通过自动隔离故障服务并触发降级策略,有效防止了故障的扩散,保障了系统的整体健康。进一步地,我们为每个HTTP服务细致配置了最大请求数、最大等待请求时间和最大重试次数,这些参数的设定使得Istio能够在高负载或服务故障情况下,智能地调整请求的分配,优先保障关键业务的连续运行。Istio的异常检查机制进一步增强了服务的弹性,通过动态地从负载均衡池中移除异常实例,确保了服务的高访问成功率。在项目生产环境中,我们根据服务的重要性和特性,定制了差异化的异常检查策略。例如,对于XXXX服务,我们设定了每5秒进行一次健康检查,若连续5次响应5xx错误,则将该实例从连接池中移除5分钟;而对于用户登录和消息推送服务,鉴于其对实时性要求较高,我们采用了更为频繁的检查策略,即每1秒检查一次,若连续3次出现5xx错误,则移除3分钟。这种精细化的策略配置,体现了我们在确保服务高可用性的同时,对不同服务特性的深入理解和应用。

在认证方面及监控方面,我们利用Istio的认证和授权机制,实现了端到端的安全通信。我们为每个微服务配置了TLS证书,并使用mTLS(双向TLS)进行通信。同时,我们还配置了基于角色的访问控制(RBAC)机制,对服务间的访问进行了细粒度的控制和管理。这样,我们可以确保只有经过认证和授权的服务才能相互通信,保证数据的安全性和完整性。Istio的监控和日志功能为我们提供了强大的数据收集与分析能力。通过Metrics和Tracing功能,我们能够实时监控服务的调用链、响应时间和错误率,从而快速识别并解决潜在的性能瓶颈。例如,激励计划协议签署模块中会调用公有云第三方电子协议签署接口,在我们对系统进行压力测试的时候,由于第三方电子协议签署服务压力过大导致该接口响应时间明显增加,Istio的监控系统迅速捕捉到了服务响应时间的异常增长,我们通过分析调用链和日志数据,迅速定位到了问题源头,及时的与电子协议厂商进行沟通,并对服务进行了扩容来解决压力过大的问题。与此同时,我们的日志管理平台与Istio紧密集成,实现了日志数据的集中管理和智能分析。配置的告警策略能够及时捕捉到异常日志模式,并通过企业微信消息推送给项目组成员,确保了问题能够在第一时间得到响应。这种高效的监控和响应机制,不仅提升了系统的稳定性,也显著提高了团队的运维效率。

2021年11月,系统正式上线运行,至今已经稳定地运行了超过两年的时间,期间不仅顺利应对了访问量激增的挑战,例如某个客户公司员工约5000人,在公司发起与员工进行电子协议签署后,由于大量员工同时进行线上签署,导致签署服务由于负载过高而全部宕机。还成功处理了紧急情况下客户公司的接入需求,这些都是对我们运维能力的巨大考验。通过在我们的项目中应用Istio服务网格,我们成功地解决了微服务架构带来的通信、管理和监控等挑战。服务网格不仅提高了服务的通信效率和稳定性,还大大简化了服务的部署和运维工作。同时,服务网格还提供了丰富的功能和灵活的配置选项,可以根据我们的需求进行定制和优化。未来,我们将继续探索和实践服务网格技术,以更好地支持微服务架构的发展和管理。

【软考论文】论服务网格在云原生架构中的作用及其实践

https://www.shuiwh.com/posts/learn-ruankao-001/

作者

水无痕

发布于

2025-07-11

更新于

2025-07-19

许可协议