网易云音乐服务化演进与挑战

需积分: 9 0 下载量 114 浏览量 更新于2024-07-09 收藏 1.6MB PDF 举报
"网易云音乐薛广顺分享的‘云音乐服务化之路’探讨了从单体架构到微服务架构的演进,以及在服务化过程中遇到的挑战和解决方案,包括服务治理、服务粒度设计、分布式问题处理、监控与未来规划等关键点。" 在服务演进过程中,网易云音乐经历了从单体架构到微服务架构的转变。单体架构模式下,由于团队内部协作、测试、部署、系统可用性和伸缩性的局限,导致开发效率和系统灵活性降低。而转向微服务架构后,每个服务可以独立部署,架构更清晰,模块升级更加安全,便于开发管理和团队分工,同时提高了代码复用和业务敏捷性。 然而,微服务架构也带来了新的挑战,如分布式复杂性、数据一致性、运维复杂性、测试复杂性等问题。为解决这些问题,网易云音乐构建了服务治理体系,包括服务注册与发现、路由与负载均衡、同步/异步处理、统一配置、泛化服务以及全面的服务监控。 在服务粒度设计上,遵循功能完整性、职责单一性、粒度适中和考虑可重用性与性能的原则,以实现团队可接受并利于迭代演进的效果。为了统一入口,引入了网关,简化了外部调用。 面对典型问题,如多机房路由、测试环境服务治理、稳定性与服务可用性、框架推广成本、服务监控和协议升级,网易云音乐进行了服务框架的探索。其中包括机房路由策略,通过同城双机房实现本机房优先调用,并在本地调用失败时切换到备用机房;环境隔离确保测试环境的多环境联调和蓝绿发布;熔断机制提供一键降级、自定义fallback策略和多种熔断策略,以提高系统稳定性;限流机制控制单机并发、集群QPS和特定条件下的流量,防止过载;节点剔除保护服务端,实现客户端的自动failover和恢复;协议升级考虑了新老客户端的兼容性和协议的可扩展性;Fence平台则用于集中管理配置、中间件版本和升级;自研的Trace系统提供了链路跟踪、调用关系分析、异常诊断和故障定位功能。 对于未来规划,网易云音乐提出了Phinex计划和Set化,旨在进一步优化服务治理,提升系统的整体性能和稳定性。通过持续改进,网易云音乐致力于打造更加高效、灵活且稳定的云音乐服务化架构。
2021-09-19 上传