¶ 架构 - 知识体系
TIP
本系列将带你梳理下架构相关的知识体系。@pdai
¶ 如何学习架构
- 包含如何学习架构?
¶ A 基础到方法论
- 概述,特点,目标,本质
- 方法论
具体请参考:
¶ B 如何理解架构
- 架构的视角
- 架构的演进
- 服务化演进
- 架构的核心要素
具体请参考:
¶ C 架构的模式
- 分层:一般可分为,应用层,服务层,数据层,管理层,分析层;
- 分隔:一般按照业务/模块/功能特点进行划分,比如应用层分为首页,用户中心。
- 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。
- 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。
- 缓存:将数据放在距离应用或用户最近的位置,加快访问速度。
- 异步:将同步的操作异步化。客户端发出请求,不等待服务端响应,等服务端处理完毕后,使用通知或轮询的方式告知请求方。一般指:请求——响应——通知 模式。
- 冗余:增加副本,提高可用性,安全性,性能。
- 安全:对已知问题有有效的解决方案,对未知/潜在问题建立发现和防御机制。
- 自动化:将重复的,不需要人工参与的事情,通过工具的方式,使用机器完成。
- 敏捷性:积极接受需求变更,快速响应业务发展需求。
具体知识点请参考:
¶ D 分层下看架构技术点
以上采用七层逻辑架构,第一层客户层,第二层前端优化层,第三层应用层,第四层服务层,第五层数据存储层,第六层大数据存储层,第七层大数据处理层。
客户层:减少Http请求数,浏览器缓存,启用压缩,Js异步,减少Cookie传输;
前端层:DNS负载均衡,CDN本地加速,反向代理服务;
应用层:业务拆分;负载均衡,分级管理,应用缓存,服务集群,快速失败,异步调用,服务降级,消息队列,幂等设计等。
服务层:提供公用服务,比如用户服务,订单服务,支付服务等;
数据层:分布式, 数据库集群,读写分离,NOSQL集群,文件系统集群;分布式缓存;冗余备份(冷,热备[同步,异步],温备),失效转移(确认,转移,恢复)。CAP理论,一致性算法。
大数据存储层:支持应用层和服务层的日志数据收集,关系数据库和NOSQL数据库的结构化和半结构化数据收集;
大数据处理层:通过Mapreduce进行离线数据分析或Storm实时数据分析,并将处理后的数据存入关系型数据库。(实际使用中,离线数据和实时数据会按照业务要求进行分类处理,并存入不同的数据库中,供应用层或服务层使用)。
¶ E 架构案例分析
- 架构案例 - 秒杀系统设计
- 京东: 亿级商品详情页设计
- 闲鱼: 亿级商品结构化背后的思考和演进
- 闲鱼: 多状态多操作的交易链路架构演进
- 闲鱼: 拉新投放系统如何设计
- 闲鱼: 复杂搜索系统的可靠性优化之路
- 美团: 配送系统架构演进实践
- 美团: 即时物流的分布式系统架构设计
- 美团: 外卖客户端高可用建设体系
- 美团: 数据库高可用架构的演进与设想
- 美团: 数据同步到仓库的架构实践
更多待整合的文章
如何从 0 到 1 设计、构建移动分析架构 https://blog.csdn.net/weixin_44326589/article/details/93463878
蚂蚁金服面对亿级并发场景的组件体系设计 https://juejin.im/post/5cda3131e51d4514df42076f
高德服务单元化方案和架构实践 https://yq.aliyun.com/articles/728021
从 0 到 100——知乎架构变迁史 https://www.infoq.cn/article/2014/12/zhihu-architecture-evolution/ https://www.jianshu.com/p/2639b7bb0d74
蚂蚁金服 11.11:支付宝和蚂蚁花呗的技术架构及实践 https://www.infoq.cn/article/technical-architecture-of-alipay-and-ant-check-later/
新浪微博王传鹏:微博推荐架构的演进 http://www.uml.org.cn/zjjs/2015092801.asp
互联网公司技术架构,微信/淘宝/微博/腾讯/阿里/美团点评/百度/Google/Facebook/Amazon/eBay的架构 https://github.com/davideuler/architecture.of.internet-product
联系我

PS:添加时请备注Java全栈,谢谢!