14:20 15:10 王继罗 映客直播高可用架构实践

2020-03-01 202浏览

  • 1.
  • 2.映客直播 – 高可用架构实践 王继罗 2018.10
  • 3.关于我 王继罗 01 02 映客直播服务端架构师. 擅长分布式系统、微服务治理和 曾就职于阿里巴巴、今日头条. 网络安全 www.islide.cc 3
  • 4.微服务之殇 1 优化之路 2 未来展望 3 提纲
  • 5.微服务之殇 .
  • 6.背景 6 Huawei Confidential
  • 7.领先的移动直播平台 7 Huawei Confidential
  • 8.多元化产品矩阵 8 Huawei Confidential
  • 9.优化之路
  • 10.优化思路 Api-gateway 系统重构 • 抽象通用功能. • 解决研发效率、系统安 • 优化系统架构. 服务治理 全性等问题. • 解决服务数量快速增长 问题. • 对系统全盘掌控. • 解决维护困难问题. www.islide.cc 10
  • 11.服务治理 监控 报警 追踪 止损 要全面 更及时 有工具 高效率 希望可以在界面上看到各 希望服务出现异常时自 希望在追case时可以有平 希望可以在定位到问题 种关键数据. 动、及时通知. 台和一套追查方式方法. 后快速恢复或者止损. …… …… …… …… www.islide.cc 11
  • 12.系统框架 贴个服务化架构图 www.islide.cc 12
  • 13.服务注册&发现 贴个服务化架构图 www.islide.cc 01 多集群 02 多环境 03 跨集群调用 13
  • 14.监控&报警 贴个服务化架构图 01 丰富统计项 02 03 报警视角更全面 www.islide.cc 报警粒度细化 04 报警方式多样 14
  • 15.Trace系统 绘制拓扑关系 • 自动绘制 增强报警效果 S W • 标记异常服务 • 实时精确 • 突出展示异常 查询调用链 展示全网流量 • 界面化操作 O T • 自动串连 • 流量实时展示 • 异常提醒. www.islide.cc 15
  • 16.止损 访问隔离 环境区分 、重要服务独 享集群、流量调度 流量控制 负载均衡、限流、熔断 服务降级 关键路径划分 、一键降 权限控制 级 访问权限. www.islide.cc 16
  • 17.服务重构 • 服务多. 500+. 01 • 语言多. C++、lua、python、nodejs、go,etc • 链路复杂. • 稳定性达不到要求. Text here 02 Unified fonts make reading more fluent. Theme color makes PPT more convenient to change. Adjust the spacing to adapt to Chinese typesetting, use the reference line in PPT. • 线上问题多. • 定位问题代价大. • 服务冗余大. 03 • 不能确定调用源. • 容灾止损手段不能满足需求 04 www.islide.cc • 加功能难 • 扩容有时也受限 17
  • 18.优化协议 与客户端 • 减少协议种类 • 避免版本控制 Text here Unified fonts make reading more fluent. Theme color makes PPT more convenient to change. Adjust the spacing to adapt to Chinese typesetting, use the reference line in PPT. 与接入方 • 统一接入协议 • 增加控制数据 www.islide.cc 18
  • 19.统一技术栈 统一语言 主Go、辅Python C++、Nodejs、Go、Python 等 . 统一框架 Beego、Gin、 Tornado、flask 全面使用内部Rpc、Http框架 Mysql Redis 统一选型 统一DB、Cache、Mq选型及使用姿势. www.islide.cc 19
  • 20.收拢基础组件 谨慎 限定可选范围 内部二次封装 实用 专人统一维护 www.islide.cc 资源合理分配 20
  • 21.服务化 Text here 1 隐藏底层细节 2 消除数据来源不唯一性 3 便于资源评估和分配 4 便于定位问题 Unified fonts make reading more fluent. Theme color makes PPT more convenient to change. Adjust the spacing to adapt to Chinese typesetting, use the reference line in PPT. www.islide.cc 21
  • 22.重新设计 系统之间 系统内部 Text here 2 • 抽象同类功能 • 减少小服务 Unified fonts make reading more fluent. Theme color makes PPT more convenient to change. Adjust the spacing to adapt to Chinese typesetting, use the reference line in PPT. 3 04 www.islide.cc • 支持动态配置 • 内容灵活可配 • 适当超前设计 • 增加服务自愈能力 22
  • 23.Api-Gateway . 总在做重复的事情 Text here • 服务在做重复的事情 • 并非大家都支持注册&发现 • 其他各种情况 www.islide.cc 23
  • 24.系统设计 提高研发效率 提高系统安全性 www.islide.cc 24
  • 25.提高研发效率 接口聚合 协议适配 接口聚合 • Rpc 到 http • 对外是一个接口. • 多版本控制 • 对内有多个服务. abtest 协议适配 Api-Mock 效率 • 优化研发流程. • 提高覆盖率. abtest • 业务无侵入. • 策略更丰富. Api-Mock www.islide.cc 25
  • 26.提高系统安全性 统一风控 遇到过的问题 权限管理 关键数据被刷、内部调用很随意、服务资 源被耗尽、系统迁移时很痛苦 等等 • 对接公司风控系统. • 业务方自主选择. • 评估使用的合理性. • 资源被谁使用胸中有数. • 防止引发系统雪崩. 资源预分配 • 重要调用方独享资源. • 下游升级上游无感知. 系统解耦 www.islide.cc • 产品功能无缝切换. 26
  • 27.未来展望 • 私有云 • CI/CD
  • 28.Thanks. 王继罗