大型网站设计

来源:互联网 发布:淘宝代销好做吗 编辑:程序博客网 时间:2024/06/02 11:06


大型站点: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

0 0
原创粉丝点击