极客时间架构师培训 1 期 - 第 4 周总结
架构发展
简单,合适,演化
技术方向
• 水平伸缩
长期方案
伸缩性的圣杯,低成本,高收益
无极限
• 垂直伸缩
短期伸缩方案,简单,易操作;业务初期阶段或者过渡期可使用。
到达一定界限时,高成本,低收益。
有物理极限。
应用软件或者操作系统有极限
架构模式
• 分层 横向维度切分 框架职责等
• 分割 纵向切分 功能/业务分割,使具备可扩展性
• 分布式 高可用
分布式应用与服务
分布式静态资源
分布式数据与存储
分布式计算
• 集群 针对热点集中访问的应用服务,部署集群,通过负载均衡对外提供服务。应用可伸缩
• 缓存 将数据存储在离计算最近的位置加快处理速度。是改善软件性能的第一手段;高性能
CDN
反向代理
本地缓存
远程缓存
• 异步 高可用
减低软件耦合性
提高系统可用性
加快网站的响应速度
削峰填谷,消除并发访问高峰
• 冗余 高可用
冗余服务器,防患于未然,增加服务的可用性
• 自动化
主要集中在运维方面的自动化
• 安全
保障数据的安全性与可靠性
防止XSS攻击,SQL注入等恶意攻击,进行风险控制
架构要素
• 高性能
重要指标,架构设计的重要方面;首当其冲的是用户体验
• 高可用
重要指标,主要手段是冗余;任何时候保证服务的可用性;反脆弱性
• 可伸缩
主要标准是是否可以用多台服务器构建集群,是否容易向集群中添加服务器。新服务器与原服务器提供无差别服务,集群中容纳的服务器数量是否有限制。
• 可扩展性
主要关注功能性需求,是否能快速响应需求。
标准是在系统增加新的业务产品时,是否可以实现对现有产品透明无影响,不需要任何改动或者很少改动原业务功能就可以上线新产品。
• 安全 使系统不受恶意攻击,数据不被窃取
主要标准是针对现存和潜在的各种攻击与窃密手段,是否有可靠的应对策略。
架构技术
• 前端架构
App 及 Web 开发技术
浏览器及 HTTP 优化技术
CDN
动静分离
图片服务
反向代理
DNS
• 网关与应用层架构
网关架构
负载均衡
动态页面静态化
业务拆分
• 服务层架构
微服务框架
分布式消息队列
分布式缓存
分布式一致性(锁)服务
• 存储层架构
分布式文件
分布式关系数据库
NoSQL 数据库
• 后台架构
大数据平台
搜索引擎
推荐引擎
数据仓库
• 运维与安全
数据采集与展示
数据监控与报警
攻击与防护
数据加密与解密
评论