云音乐服务化之路网易云音乐-技术架构组薛广顺大纲1、服务演进过程;2、服务治理体系介绍3、服务化探索4、未来规划1、服务演进过程❖单体架构❖微服务架构❖微服务后带来的问题❖服务粒度设计原则单体架构❖团队内部协作成本高❖测试、部署成本高❖系统高可用差❖可伸缩性差❖业务很难进行敏捷开发微服务架构优点:❖可独立部署❖架构上系统更加清晰❖核心模块稳定,以服务组件为单位进行升级,避免了频繁发布带来的风险❖开发管理方便、单独团队维护、工作分明,职责清晰❖业务复用、代码复用微服务化后带来的挑战分布式复杂性数据一致性如何解决运维复杂性测试复杂性统一入口:网关服务粒度设计原则❖功能完整性、职责单一性❖粒度适中,团队可接受❖考虑可重用性,性能❖迭代演进,非一蹴而就服务治理全景服务框架服务注册、发现路由、负载均衡同步/异步统一配置泛化服务监控......典型问题1、多机房路由?2、测试环境服务治理?3、稳定性及服务可用性?4、框架推广、升级成本?5、服务监控?6、协议升级?服务框架的探索1、机房路由2、环境路由3、熔断机制4、限流机制5、节点剔除6、协议升级7、自研Trace8、Fence系统机房路由原理❖同城双机房❖机房路由,本机房优先❖本地调用出现问题,切到备用机房❖探活成功返回本机房调用环境隔离背景:❖测试环境多环境联调❖蓝绿发布原理:❖整个测试环境共享一套基准环境❖同环境优先调用❖环境缺失,则路由到基准环境熔断❖一键降级❖熔断逻辑❖自定义fallback策略❖多种熔断策略❖平台化管控限流❖单机并发;❖集群QPS限流❖高频限流(Ip、用户)❖平台化管控节点剔除❖保护服务端❖客户端failover❖节点恢复协议升级❖兼容新老客户端;❖协议支持可扩展性;❖协议层支持快速失败;Fence平台❖打包配置❖中间件版本管理及升级❖agent下发❖平台化管控Trace❖链路跟踪❖调用关系❖异常诊断❖故障定位服务治理平台未来规划Phinex计划Set化服务治理优化Q&ATHANKS