架构师课作业 - 第四周

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

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



分层架构, 切分层级每个层级更细分的优化



前端架构


APP及Web开发技术



浏览器及HTTP优化技术

  • 我的理解, 是优化通讯协议, 包括选择http1.0, 2.0, 3.0, 字节传递或二进制传递, 而浏览器的利用可能就是利用浏览器的缓存特点, 节省网络请求次数



CDN

  • 将缓存用到极致的方式, 让用户就近获取缓存



动静分离

  • 变化与不变分离, 我想到的是文件图片js等等资源的分离, 这些静态资源利用各种缓存, 亦或是独立部署静态资源服务器, 来减少服务器压力



图片服务



反向代理

  • nginx这种反向代理服务器, 本身会代理请求并选择Web服务器亦或是静态资源地址, 也可以代理请求帮助实现负载均衡



DNS

  • 域名解析IP的服务, 帮助解析其实也相当于一种代理, 可以做IP层(网络层)的负载均衡



网关及应用层架构


网关架构

  • 网关本身是微服务的代理, 帮助做服务选择及服务集群下的负载均衡



负载均衡



动态页面静态化 (不太懂具体实现以及解决什么问题)



服务层架构


微服务框架

  • 业务解耦, 实现松耦合高内聚的手段, 还能更加清晰的划分实际团队职能, 也能更好的针对具体业务模块的压力来有针对性的扩缩容



分布式消息队列

  • 针对集群及分布式系统, 需要分布式的消息队列, 消息队列本身可以异步化响应, 像是老师的反应式编程框架, 加快响应时间, 性能更高能承载更高并发量.



分布式缓存

  • 针对集群及分布式系统, 需要分布式的缓存, 缓存本身可以减轻数据库压力 , 根本上是减少IO磁盘的压力, 分布式缓存如Redis都是去访问内存的数据, 内存访问比磁盘访问速度快很多, 所以也加快了请求的响应速度



分布式一致性(锁)服务

  • 真实场景下针对公共资源的使用往往存在并发问题, 一般用本地内存的排它锁等锁机制确保访问的正确性, 分布式锁应对集群及分布式系统



存储层架构


分布式文件 (这块也不熟悉, 没使用过)



分布式关系数据库

  • 我对此块的理解是, 根据业务(如不同微服务)的垂直分库, 根据数据量进行的水平分表



NoSQL数据库



后台架构


大数据平台

  • 如kafka+flink 这种消息队列加流式计算, 做实时统计



搜索引擎

  • 我的认知是, 基于倒排索引做的全文检索



推荐引擎

  • 不太懂, 觉得是根据用户行为的画像和资源标签匹配



数据仓库 (也是不懂的一块)



运维与安全


数据采集与展示



数据监控与报警



攻击与防护



数据加密与解密

用户头像

Tulane

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师课作业 - 第四周