预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共28页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

高可用架构设计与实践 讲师:孙玄@58 法律声明 【声明】 本视频和幻灯片为炼数成金网络课程的教学资料,所有 资料只能在课程内使用,不得在课程以外范围散播,违 者将可能被追究法律和经济责任。 课程详情访问炼数成金培训网站 http://edu.dataguru.cn 关于我 58同城高级系统架构师 公司技术委员架构组主任 即时通讯、转转、C2C技术负责人 前百度高级工程师 代表58同城对外嘉宾分享 –QCon –SDCC –DTCC –Top100 –程序员 –UPYUN –TINGYUN –…… 3 代表58对外交流 Qcon(全球软件开发大会) SDCC(中国开发者大会) Top100(全球案例研究峰会) DTCC(中国数据库技术大会) 《程序员》撰稿2次 58技术发展这10年[计划中] 4 炼数成金课程 课程 •《MongoDB实战》 –已开课 –欢迎大家报名学习 •《大规模高性能分布式存储系统设计与实现》 –已开课 –欢迎大家报名学习 上次课程回顾 高可用课程背景 高可用课程安排 什么是架构的高可用 架构高可用重要性 架构高可用的手段都有哪些 架构高可用评价维度是什么 架构高可用的如何分级&考核 架构高可用的涉及环节 典型问题你遇到过吗? 6 架构高可用常遇到问题 架构高可用遇到问题 –上线发生数据改动,格式和之前不兼容,回滚也不正常,如何处理? 7 架构高可用常遇到问题 架构高可用遇到问题 –上线更新删除了数据,回滚后数据也没有了,如何处理? 8 OutLine 高可用架构为什么需要分层? 高可用架构分层设计原则是什么? 高可用架构如何分层? 高可用架构分层最佳实践 我们的实践案例 9 高可用架构为什么需要分层 ALLINONE架构 –整个架构只有一个模块 •数据部分、逻辑部分、接入部分、展示部分等 –架构存在问题 •耦合严重 •职责不分明 •模块庞大、臃肿 •开发成本高、效率低下 •运维成本高 •组件间相互影响,一旦一个组件有问题,整个服务都受影响 •扩展性差 •性能极限差 •牵一发而动全身!!!! 10 高可用架构为什么需要分层 高可用架构分层 –ALLINONE架构问题多多 –服务高可用需分层设计 –模块耦合性低 –模块职责分明 •数据层、逻辑层、接入层、展示层等等 –模块间不再相互影响 –模块独立扩展 –系统整体性能高 11 高可用架构分层设计原则是什么 高可用架构分层设计原则 –数据服务和逻辑服务分离 •数据存储 •业务逻辑 –逻辑服务和接入服务分离 •业务逻辑 •接入层 –接入服务和展示服务分离 •接入层 •数据展示12 高可用架构分层设计原则是什么 高可用架构分层设计原则 –分层服务功能单一 •数据 •逻辑 •接入 •展示 •…… –分层间低耦合 •接口交互 –分层内高内聚 •功能聚焦单一 13 高可用架构分层设计原则是什么 高可用架构分层设计原则 –分层适中 •层次过多 –请求交互路径长 –请求响应延迟高 –层次多,运维成本高 –定位问题涉及层次多,定位复杂多增加,定位时间长 •层次过少 –每个层次功能不单一,耦合性高 –模块内组件间相互影响高 –高可用无法保证 14 高可用架构如何分层 高可用架构分层 –前端架构 •MVC架构分层 –后端架构 •按照功能水平划分 –四层 »接入层、逻辑层、数据层、数据存储 »接入层、逻辑层、原子服务层、数据存储 –五层 »接入层、序列化层(异步消息队列)、逻辑层、数据层、数据存储 •按照业务垂直拆分 –房产、招聘、二手、二手车、黄页 –IM、交友等 15 高可用架构分层最佳实践 高可用架构最佳实践 –脱离业务场景谈架构分层绝对是耍流氓 •架构的分层取决于业务场景 –MVC –三层 –四层 –五层 16 高可用架构分层最佳实践 高可用架构最佳实践 –脱离业务场景谈架构分层绝对是耍流氓 •架构的分层取决于业务发展阶段 –创业初期 »满足业务快速发展 »可用性低 »分层少 »ALLINONE 17 高可用架构分层最佳实践 高可用架构最佳实践 –脱离业务场景谈架构分层绝对是耍流氓 •架构的分层取决于业务发展阶段 –业务数据量、请求量快速增长期 »引入分层 »接入层、逻辑层、数据存储等 »满足业务增长需求 –业务请求高并发,海量存储期 »每层进一步细化 »分布式存储、NoSQL、RDBMS分库分表 –业务多、请求多、关系复杂 »58列表页、详情页问题 »服务化 »解耦、稳定 18 我们的实践案例 架构高可用分层案例一 –58帮帮 •定位 –传统IM –