第 4 周 - 课后作业

用户头像
大海
关注
发布于: 2020 年 07 月 01 日

一个典型的大型互联网应用使用了哪些技术方案和手段,主要解决什么问题?请列举描述。



1 大型互联网应用面临的挑战



  • 高并发,大流量

  • 高可用

  • 海量数据

  • 网络情况复杂

  • 安全环境恶劣

  • 需求快速变更,发布频繁

  • 渐进式发展



2 将系统分解,用不同手段解决不同问题



  • 横向分层



例如分为表示层、应用层、数据访问层、数据存储层,各层负责相对单一的数据处理职责



  • 纵向分割



根据业务进行分割,不同的业务子系统各自采用合适的内部分层结构



将可复用的服务包装成高内聚、低耦合的单元;各种服务单元内部可能是分布式部署的集群(有助于提高并发、高可用、可伸缩);成熟的多种服务单元还可以向业务中台演化,支撑前端应用的快速开发



3 解决大型互联网应用常见问题的手段举例



  • 高并发、大流量



* 垂直伸缩(有单机的物理极限,非线性增长)



* 水平伸缩(单机成本低,伸缩性强,对于访问量波动大的应用,还可以动态调整。但运维水平要求也更高)



* 使用缓存



* 读写分离



* 动静分离



* 消息队列



* 反向代理和CDN



  • 高可用



* 多机部署,在少量机器故障时仍提供可接受的服务质量



  • 海量数据



* 分布式文件系统



* 分布式数据库



* NoSQL



* 搜索引擎



  • 网络情况复杂



* 多数据中心,让数据靠近用户



* CDN



* GeoDNS



  • 安全环境恶劣



* DDoS防御(高防IP,高防CDN,端口过滤,限流,熔断,监控)



* 加密



* 身份认证



  • 需求快速变更、发布频繁



* 业务拆分



* 团队划分适应业务发展的需要(有横贯各个业务线的架构风格指导,也有业务单元内部的职责分工。既有擅长总体规划的通才,也有擅长某些技术的专才。)



* 微服务



* 中台化



  • 渐进式发展

用户头像

大海

关注

还未添加个人签名 2018.07.14 加入

还未添加个人简介

评论

发布
暂无评论
第 4 周 - 课后作业