[架构师训练营]Week04 - 学习总结
垂直伸缩,通过提升单机性能来提高系统的并发量,具体的方法包括硬件方面(内存,RAID, CPU, 网卡等)和软件方面(Cache, 异步等), 优点:不需要修改应用架构,缺点:会达到物理极限及增加不少成本开销。
水平伸缩,通过增加机器来提高系统的并发量,具体的方法包括(dns, keepalived+vip, 连接池/进程池, nginx等),优点:可以突破单机性能,缺点:需要修改应用架构,对技术要求高。
这里需要一直注意的是,在初创企业中,能用垂直伸缩就不用水平伸缩,垂直伸缩是首要考虑的手段,不能陷入唯技术流的困境当中。
架构不是从一开始就设计好的,而是随着业务发展不断进化发展的。在不同业务规模阶段,面临的挑战是不一样的。下面是每个阶段遇到的技术手段及服务器构成说明:
系统设计核心要素:
高性能/可伸缩/可扩展/安全
技术架构总览
前端架构:app及web开发技术, 浏览器及http优化技术, CDN, 动静分离,图片服务,反向代理,DNS.
网关及应用层架构:网关架构,负载均衡,动态页面静态化,业务拆分.
服务层架构:微服务框架,分布式消息队列,分布式缓存,分布式一致性(锁)服务
存储层架构:分布式文件,分布式关系数据库,nosql数据库
后台架构:大数据平台,搜索引擎,推荐引擎,数据仓库,
运维与安全:数据采集与展示,数据监控与报警,攻击与防护,数据加密与解密
评论