第四周学习总结

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

1、解决问题的关键在于抓住问题的本质,这样会比盲目的投入处理更加高效。

2、架构是依据需求设计的,脱离需求,采用再多新技术,架构都毫无意义,甚至起反作用。

3、架构是演化而来,过度设计会导致无法落地,项目胎死腹中。



这一周的课程,主要是讲述了互联网典型架构的演化过程,并通过淘宝 、微博、宅米的架构的演化过程说明互联网架构演化的特性。

互联网架构特点

  • 说到互联网架构的特点,第一印象就是:高并发、高可用、高性能。其中高并发不是设计出来的,是需求要高并发,系统去支持高并发。高可用是指冗余服务器实例,高性能是指扩展服务能力,这两个虽然都会通过分布式支持,但本质是不一样的。

  • 系统需要支持高并发,可以网关横向扩展加负载均衡、增加CDN等。

  • 高可用可通过冗余服务实例,主备同时提供服务、一部分Standby通过哨兵机制切换。

  • 高性能一般也是通过增加服务实例实现,人多力量大。

  • 海量数据是互联网系统的宝贵资源,也是管理难点。需要处理海量数据的存储已经搜索,或者进行数据分析做决策支持。一般做法是:读写分离、分库分表、增加缓存服务分担压力、根据业务才有不同存储方案(文件存储、列存储等)

  • 互联网系统由于任何人都可以访问,所以互联网系统的网络安全环境非常恶劣,会收到大量不友好的请求。

  • 互联网系统的需求迭代非常快,需要快速的开发、发布,还要保证已有系统的稳定。

  • 服务实例增多、需求迭代快,需要引入自动化运维,监控系统健康、自动化发布,减少发布到上线的事件。

扩展系统处理能力有两个方向:

纵向扩展
  • 扩展单机性能,增加内存、增加CPU核数、主频、磁盘阵列、SSD等

  • 换更好的机器,小型机、中型机、大型机

  • 纵向扩展在业务增长初期,是一个比较快捷、稳定的方案。但是在某个临界点之后,成本会指数上升,甚至到无法扩展的地步。

横向扩展
  • 扩展服务器数量,通过增加服务器,分担处理压力。

  • 理论可以无限扩容,实际上服务器增加越多,性能提升效率逐步降低。

  • 架构的复杂度较高,维护成本也高,一般是业务增长到一定程度后再做架构升级。



互联网架构技术一览:

  • 前端架构

  • App及Web开发技术

  • 浏览器及http优化技术

  • CDN

  • 动静分离

  • 图片服务

  • 反向代理

  • DNS

  • 网关及应用层架构

  • 网关架构

  • 负载均衡

  • 动态页面静态化

  • 业务拆分

  • 服务层架构

  • 微服务框架

  • 分布式消息队列

  • 分布式缓存

  • 分布式一致性(锁)服务

  • 存储层架构

  • 分布式文件

  • 分布式关系数据库

  • Nosql数据库

  • 后台架构

  • 大数据平台

  • 搜索引擎

  • 推荐引擎

  • 数据仓库

  • 安全架构

  • 攻击与防护

  • 数据加密与解密

  • 数据采集与监控

  • 数据采集与展示

  • 数据监控与报警

  • 数据中心机房架构

  • 多机房云化



用户头像

CP

关注

还未添加个人签名 2018.03.15 加入

还未添加个人简介

评论

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