架构 3年前

弱网优化方向

作者头像 刘宇帅
2409 0

减小大小

  1. 接口
    1. 只返回必须字段
    2. 更小的编码方式(protobuf)
    3. gzip
  2. 图片
    1. 更小体积的图片格式(webp、avif)
    2. 按设备返回对应分辨率的图片
    3. gzip压缩
    4. 制定不同位置的图片的大小规范,并严格执行
  3. 其他资源(js、css、字体)
    1. 代码压缩
    2. gzip
  4. cookie
    1. 梳理并减少cookie大小

减少次数

  1. 合并请求
    1. 接口(API最好统一支持多接口合并请求的结构)
    2. 图片(雪碧图)
    3. js
    4. css
    5. 梳理删除重复的请求
  2. 按需请求
    1. 接口
    2. css
    3. js
  3. 缓存
    1. 本地缓存

减少请求时间

  1. 传播速度
    1. 阿里云全站加速(智能路由,接口加速)
    2. 自建:智能DNS+分布式节点+专线
  2. 接口响应时间优化(这个不是弱网之间相关的一个优化点,但是在弱网情况下如果接口很慢的话,整体的体验会更加糟糕)

减少传播距离

  1. CDN
    1. 图片
    2. css
    3. js
    4. 字体
  2. 多地部署+智能DNS

传输协议优化

  1. http2.0
  2. QUIC
  3. https 可升级到TLS 1.3

前端架构

  1. 预渲染
  2. SSR
  3. 单页应用

展现

  1. 骨架屏
  2. 离线缓存
  3. 交互细节
    1. 减少loading
    2. 先在页面响应,再在后台请求接口,如果错误再回滚逻辑
  4. 图片渐进显示
作者头像

刘宇帅

非著名程序员,全栈开发工程师,长期专注系统开发与架构设计。

提示

功能待开通!


暂无评论~

相关文章

分布式架构之CAP理论/AP架构/CP架构

在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer's theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性(Consistency) (等同于所有节点返回的数据都是一致的) 可用性(Availability)(每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据) 分区容错性(Partition tolerance)(大部分分布式系统都不能在时限内达成数据一致性,就意味分布式系统一定会发生了分区的情况。这就是再分布式系统中 P 是一定该发生的,那么 A 和 C 我们只能选择一个。) Zoopk

全链路压测调研

什么是全链路压测 使用真实生产业务场景、在真实的生产系统环境下根据历史用户访问记录构造海量用户请求对整个业务链进行压力测试并生成报告,根据报告持续调优的过程。 为什么要全链路压测 我们针对单机器单系统的压测虽然可以掌握单个机器或服务的服务能力但是并不能依此来推测整个系统的服务能力,因为任何一个具体的业务系统都可能在系统容量、业务代码性能、物理机器、网络、中间件和各个系统之间调用或具体的业务流程中等等任何一点上存在瓶颈进而导致真个业务系统的服务能力下降,而这些众多的点我们没办法去确定具体那个点会成为瓶颈,我们只能通过全链路压测来测试服务能力找到瓶颈,因为我们要服务于用户而全链路压测的流量正是 m

网站架构之负载均衡方案

什么负载均衡 当我们单台的服务器无法支持用户请求的时候就需要把机器扩充到几台、几十台甚至几百台,而当用户请求到的时候我们合理的把用户请求分发到各个服务器,这就是负载均衡。负载均衡要理解最重要的一点,我这里用了“合理的分发”而不是平均分发,因为负载均衡并不是简简单单的均分流量,我们需要考虑到不同的服务器硬件配置、网络情况来合理的分配分配流量以达到各个服务器均不超载、合理利用集群资源达到最佳的服务质量。当然当我们用多台服务器做负载均衡时一般会选用相同规格的机器,但是不排除网络延迟、机器突发故障灯引起的单台服务器负载飙升处理能力下降等情况。 网站架构中负载均衡的应用 从图中可以看到网站中对负载均衡

20190117 负载均衡分享

什么是负载均衡 负载均衡就是用多台服务器对外提供单一服务,通常用于提高网站、应用、数据库或其他服务的性能和可用性,负载均衡是高可用网络架构的关键组件。 没有负载均衡的架构 有负载均衡的架构 为什么要负载均衡 配置再强的服务器都有服务上限,当单台的服务器无法支持所有用户请求的时候就扩充机器到到几台、几十台甚至更多来提供服务,这个时候需要我们合理的把用户请求分发到各个服务器,这就是负载均衡。 负载均衡要理解最重要的一点,我这里用了“合理的分发”而不是平均分发,因为负载均衡并不是简简单单的均分流量,我们需要考虑到不同的服务器硬件配置、网络情况来合理的分配分配流量以达到各个服务器均不超载、合理利用

搜索引擎调研

定义 搜索引擎(search engine)是一种信息检索系统,旨在协助搜索存储在计算机系统中的信息。搜索结果一般被称为“hits“,通常以表单的形式列出。网络搜索引擎是常见、公开的一种搜索引擎,其功能为搜索互联网上储存的信息。 工作方式 搜索引擎为一组项目提供一个接口,使用户可以指定关于感兴趣的项目的标准,并让引擎找到匹配的项目。搜索查询通常表示为识别一个或多个文档kennel包含的期望概念的一组单词。有多种样式的搜索查询语法在严格性上有差异。它也可以在以前的站点中搜索搜索引擎中的名称。而一些文本搜索引擎要求用户输入由白色空格分割的两个或三个字,其他搜索引擎可以使用户能够指定整个文档,图片,