写点什么

训练营第四周学习总结

用户头像
爱码士
关注
发布于: 2020 年 11 月 16 日

大型互联网架构面对的挑战:

  1. 高并发/大流量

  2. 海量数据

  3. 高性能

  4. 高可用

  5. 伸缩性

  6. 安全性

  7. 用户广泛,网络情况复杂

  8. 业务需求迭代快,发版频繁

  9. 渐进式发展

我们选择的解决方案就是水平可伸缩性扩展

架构设计中的原则和模式

  1. 分层,横向上可以做成MVC层次,在三层架构之间可以增加中间件,起到润滑的作用

  2. 业务拆分,纵向上根据业务的纬度,把整个系统的内容拆分成不同的领域,DDD设计中可以拆分成核心域,通用域,支撑域。不同的领域提供不同的能力,业务模块可以集合不同领域的业务。

  3. 分布式,把拆分的领域部署在不同的服务器上,这样物理资源隔离,不会造成资源竞争

  4. 集群,把相同的领域部署在不同的服务器上构成一个群组,提供高可用的服务,也为高并发,海量数据提供了基础

  5. 缓存:改善访问请求的速度,CDN,nginx,Redis,本地缓存,提高查询速度,降低数据库的压力

  6. 异步:服务之间通过消息队列相互调用,不再强耦合,可以做到削峰填谷,降低高并发的压力

  7. 冗余:集群在高可用的方面提供了一定的能力,但是还要注意数据的备份,比如主从数据库,缓存集群,消息中间件集群等技术

  8. 自动化:自动监控,自动发版,自动下线,自动上线

  9. 安全:通信加密,权限校验,身份验证,短信验证,风控等

架构优良的纬度

  1. 高性能,高TPS的反应速度

  2. 高可用,7*24服务的提供

  3. 伸缩性:弹性扩展是否无感知

  4. 可扩展:业务上的功能扩展

  5. 安全性:保证数据的安全

前端的架构

  1. App及web开发技术

  2. http及网络优化技术

  3. CDN

  4. 动静分离

  5. 图片服务

  6. 方向代理

  7. DNS

网关及应用层架构

  1. 网关架构

  2. 负载均衡

  3. 动态页面静态话

  4. 业务拆分

服务层架构

  1. 微服务架构

  2. 分布式缓存

  3. 分布式消息队列

  4. 分布式一致性服务

存储层架构

  1. 分布式关系数据库

  2. 分布式文件服务器

  3. NoSql数据库

后台架构

  1. 大数据引擎

  2. 搜索引擎

  3. 推荐引擎

  4. 数据仓库

运维与安全

  1. 数据采集与展示

  2. 数据监控与报警

  3. 攻击与防护

  4. 数据加密与解密

用户头像

爱码士

关注

还未添加个人签名 2019.04.28 加入

还未添加个人简介

评论

发布
暂无评论
训练营第四周学习总结