大型站点:PV大 流量变化大 数据类型多样化(静态 动态) 数据访问对象热度不均衡
大型网站核心设计:业务分割,平台分层 弹性设计
读写比例:浏览量:提交修改
动静分离:图片 音频 脚本 网页
冷热分离:频繁修改的数据
机器扩展方式:主流方向 水平扩展(scale out)
垂直扩展(up,down)扩展有限
技术堆栈:从用户到服务最终数据
浏览器级别负载均衡(代码预埋备用多IP)
域名:SDN(负载均衡,TCP connect 缓存)
CDN:(内容缓存)
服务级别负载均衡:LVS,haproxy,Nginx(SEnginx Tengine)
WEB服务:Apache ,tomcat
缓存:redis mongdb memeche
业务限制解耦:消息队列 如kaffa metaQ activemq
数据库前置服务:Atlas,cobar,TDDL,Mycat
数据库:hbase oracle mysql mongdb 等
分析:hive spark storm
大型网站架构模式
分层:如应用层(视图、业务) 、服务层、数据层(数据库、缓存、文件等)
分割:横向切分、纵向切分
分布式:应用和服务、静态资源、数据和存储、计算、配置、锁、文件等
集群:负载均衡、独立部署
缓存:CDN、反向代理、本地缓存、分布式缓存
异步:提供系统可用、加快网站响应速度、消除并发访问高峰
冗余:热备份、冷备份
自动化:发布、代码管理、测试、安全监测、部署、监控、报警、恢复等
安全:通信加密、攻击、风险控制
大型网站核心架构要素:
性能:响应时间、TPS、前端优化、服务端优化
可用性:负载均衡、集群、自动化、冗余
伸缩性:是否可以加机器提公无差别服务
扩展性:事件驱动、分布式服务
安全性:应对恶意攻击方案、保护重要数据方案
常见架构:
微服务架构:
小,专注于做一个事情 轻量级的通信机制
运行在独立的进程中 松耦合
单块架构:紧耦合 所有功能在一个进程中
基于整个系统扩展
微服务架构:松耦合,功能在不通微服务的进程中
基于独立服务 按需扩展
大型网站:架构演变
单一应用架构:
数据访问框架(ORM)
功能部署在一起,减少部署节点和成本
垂直应用架构:
Web框架(MVC)
应用拆成互不相干的几个应用,提升效率,加机器做不到
分布式服务架构:
分布式服务框架(RPC)
核心业务抽取服务,独立的服务,稳定的服务中心
流动计算架构:
资源的调度和治理中心(SOA)
容量评估,小服务资源的浪费,调度中心
转自:http://f.dataguru.cn/thread-513146-5-1.html 41