客户端从服务器端获取图片场景,加入CDN的实施方案

场景

浏览器(客户端)发送获取图片的请求,参数1—指定文件夹,参数2—指定文件夹中的指定图片名称(数字编号)作为开始,然后web服务器端通过websocket的方式从指定图片开始源源不断的按照顺序依次向浏览器发送图片。注:这些图片就存储在web服务器上的某个目录中。

CDN的作用

CDN通过将内容缓存到靠近用户的多个边缘节点,减少传输延迟,提高传输速度和可靠性。对于你的场景,CDN可以在以下方面发挥作用:

  1. 减少延迟:通过在全球分布的边缘节点缓存图片,CDN可以将图片快速传输给地理位置不同的医生,减少网络延迟。
  2. 减轻服务器负载:将图片请求分流到CDN节点,减轻了Web服务器的压力,提高整体系统的稳定性和响应速度。
  3. 提高可靠性:CDN的冗余机制确保了即使某个节点出现问题,图片也可以从其他节点获取,提高了系统的可靠性。

实施方案

  1. 图片存储和缓存策略
    首先,需要将图片上传到Web服务器,并通过CDN进行缓存。CDN会将图片分发到其全球节点。

  2. 配置CDN
    配置CDN服务,将图片目录设置为缓存目录。常见的CDN服务提供商包括Cloudflare、Akamai、Amazon CloudFront等。

  3. 图片请求流程
    当浏览器请求图片时,Web服务器根据请求参数(指定文件夹和指定图片名称)进行处理。具体流程如下:

(1)浏览器请求图片:

  • 浏览器通过WebSocket发送请求,包含指定文件夹和开始图片编号。

(2)Web服务器处理请求:

  • Web服务器接收请求,根据参数从本地目录中查找相应的图片。
  • 将图片的URL转换为CDN的URL

(3)图片推送:

  • Web服务器通过WebSocket将图片的CDN URL推送给浏览器。
  • 浏览器从CDN节点获取图片并展示。

(4)连续图片推送:

  • Web服务器依次查找下一张图片的路径,继续通过WebSocket推送CDN URL。
  • 浏览器从CDN获取下一张图片,保证图片连续、顺序地展示。

具体实现

  1. 配置CDN

假设使用Amazon CloudFront,配置步骤如下:

  • 在AWS管理控制台创建一个新的CloudFront分配。
  • 配置源为你的Web服务器域名。
  • 设置缓存行为规则,缓存所有图片请求。
  • 获取CloudFront分配的域名,类似于d12345678.cloudfront.net。
  1. 修改Web服务器

在Spring Boot项目中,通过WebSocket推送图片CDN URL:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值