互联网高并发架构设计

合集下载

互联网项目的技术选型与架构设计

互联网项目的技术选型与架构设计

互联网项目的技术选型与架构设计随着互联网的快速发展,越来越多的企业和个人开始涉足互联网项目的开发。

在进行互联网项目开发之前,技术选型和架构设计是非常重要的环节。

本文将探讨互联网项目的技术选型和架构设计的相关内容。

一、技术选型技术选型是指在开发互联网项目时,选择合适的技术栈和工具。

技术选型的目的是根据项目需求和特点,选择最适合的技术方案,以提高开发效率和项目质量。

1.1 语言选型在互联网项目开发中,常用的编程语言有Java、Python、JavaScript等。

选择合适的编程语言需要考虑项目的规模、复杂度和开发人员的熟悉程度。

例如,对于大型复杂的项目,Java是一个较好的选择,因为它具有强大的生态系统和稳定性;对于快速迭代的小型项目,Python和JavaScript可能更适合,因为它们具有较高的开发效率。

1.2 框架选型框架是指一套已经封装好的代码库,可以帮助开发人员快速搭建项目的基础架构。

常用的互联网项目框架有Spring、Django、React 等。

选择合适的框架需要考虑项目的需求和开发人员的熟悉程度。

例如,对于Java开发人员,Spring框架是一个常用的选择;对于Python开发人员,Django框架是一个常用的选择;对于前端开发人员,React框架是一个常用的选择。

1.3 数据库选型数据库是互联网项目中存储数据的重要组成部分。

常用的数据库有关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。

选择合适的数据库需要考虑项目的数据结构和访问模式。

例如,对于需要进行复杂查询和事务处理的项目,关系型数据库是一个较好的选择;对于需要高并发和快速读写的项目,非关系型数据库是一个较好的选择。

二、架构设计架构设计是指在互联网项目开发中,设计项目的整体架构和模块之间的关系。

良好的架构设计可以提高项目的可维护性、可扩展性和性能。

2.1 分层架构分层架构是一种常用的架构设计模式,将项目划分为不同的层次,每个层次负责不同的功能。

高并发任务调度系统的架构设计

高并发任务调度系统的架构设计

高并发任务调度系统的架构设计随着互联网的迅猛发展,越来越多的应用场景需要处理大量的并发任务。

为了能够高效地处理这些任务,高并发任务调度系统应运而生。

本文将围绕高并发任务调度系统的架构设计展开讨论,并介绍其核心组件和工作流程。

一、架构设计概述高并发任务调度系统的架构设计旨在实现任务的快速调度和高效处理。

它通常由调度器、任务队列、执行器和监控器等核心组件构成。

1. 调度器:调度器是整个系统的核心,负责根据任务的优先级和调度策略,将任务分配给可用的执行器进行处理。

调度器需要具备高并发处理能力和动态可调度的特性,以应对不同任务场景的需求。

2. 任务队列:任务队列用于存储待执行的任务,它可以是基于内存的队列或分布式消息队列。

任务队列的设计应考虑到高并发情况下的并发读写和数据一致性等问题。

3. 执行器:执行器是任务的实际执行者,它负责从任务队列中获取任务并执行。

执行器需要具备高并发执行能力和任务执行状态的监控与管理能力,以确保任务能够按时完成并保证任务执行的质量。

4. 监控器:监控器用于监控整个任务调度系统的运行状态和性能指标。

它能够实时采集系统的运行数据并进行分析,以便及时发现和解决潜在的问题。

二、任务调度流程高并发任务调度系统的核心工作流程如下:1. 任务提交:用户通过接口或其他方式将任务提交到任务调度系统。

2. 任务分配:调度器根据任务的优先级和调度策略,将任务分配给可用的执行器。

任务分配可以采用轮询、负载均衡或其他算法。

3. 任务执行:执行器从任务队列中获取任务,并根据任务的类型和要求进行具体的执行。

执行过程中,执行器需要记录任务的执行状态和结果。

4. 任务完成:任务执行完成后,执行器将执行结果返回给调度器,并将任务标记为已完成。

5. 监控与管理:监控器实时采集任务调度系统的运行数据,并进行分析和展示。

同时,监控器还能够对任务执行状态和系统性能进行监控和管理。

三、关键技术和挑战在设计高并发任务调度系统时,需要考虑以下关键技术和挑战:1. 并发处理:高并发任务调度系统需要具备高并发处理能力,能够同时处理大量的任务请求。

高并发Web系统的设计与应用

高并发Web系统的设计与应用

高并发Web系统的设计与应用摘要:设计了高并发web系统的软硬件框架,提出了http并发数的测量和监控方法,给出了软硬件的配置和优化方案,最后以高考网上查分系统为例进行了应用。

关键词:网上查分;并发;nginx;php中图分类号:tp393 文献标识码:a 文章编号:1009-3044(2013)13-3049-04通过网络对外发布信息已被政府部门普遍采用,但由于社会对一些热点信息(如高考分数)的极度关注,用户每秒数千次访问造成的高并发,会导致web系统运行缓慢。

因此需采用先进的软硬件架构设计web系统,确定软硬件的最优参数,充分发挥软硬件的计算能力,合理决定软硬件的使用数量,确保系统的正常运行。

1 高并发系统web系统的并发一般指的是单位时间内系统与用户之间所有http 请求与响应的总和[1],随着用户每秒http请求数逐渐增多,系统运行负载逐渐加重,系统每秒可完成的http连接数逐渐减少。

1.1 软硬件架构www服务器的php系统采用fastcgi结构,nginx将php动态网页请求转发给驻留内存的php-fpm进程,php-fpm进程运行代码、连接oracle数据库、返回结果给nginx。

php对缓存、数据库采用持久化(persistent)连接提高并发性能。

cacti[3]软件每隔一分钟采集一次http并发数、cpu使用率、互联网带宽等数据并绘制图形,实现对系统负载的定时监控。

1.2 http并发数的测量和监控1.2.1 http最大并发数的测量1.2.2 http并发数的监控2 系统设置与优化2.1 系统设置linux、nginx、php等软件的具体安装步骤、配置过程可见参考文献[5-6],epoll机制[7]是nginx、php等软件实现高并发的关键技术,有关软件的参数配置范围并无现成公式可参考,数值大小跟服务器cpu的计算能力相关。

最优参数的寻找与http最大并发数的测量是个互动过程,假设服务器的http最大并发数为m,该文提出有关参数经验数值如下:1)linux中涉及高并发进程的用户对系统资源的使用上限:nproc 为m、nofile为m、stack为m×4k。

高并发系统的架构设计与优化

高并发系统的架构设计与优化

高并发系统的架构设计与优化随着互联网的不断发展,高并发系统越来越普遍,而高并发系统的架构设计和优化成为了很多企业所关注的重点。

本文将从架构设计入手,探讨高并发系统的优化方法。

一、架构设计高并发系统的架构设计是整个系统的基础。

一个好的架构设计可以为后续的优化工作打下基础,降低后期工作难度和成本。

1.分布式架构分布式架构是实现高并发系统的重要手段之一。

将系统拆分为多个模块,通过网络通信协作完成一定的任务。

这样可以将压力分散到多台服务器上,灵活地扩容和缩容。

2.微服务架构微服务架构是将整个系统拆分成若干个小服务模块,每个模块有独立的代码和资源。

这样设计可以更快地开发和部署,避免整个系统因为某个模块的问题而宕机。

同时,微服务架构也可以使用不同的技术栈和语言,让各个模块做到最优化,进一步提高整个系统的性能。

3.缓存技术缓存技术是高并发系统的重要手段之一,可以将常用的数据在内存中存储起来,避免每次请求都从数据库中读取,降低系统的负载。

常见的缓存技术有Redis、Memcached等。

二、优化方法在架构设计的基础上,对于高并发系统,还需要进行一定的优化工作,以达到更好的性能和稳定性。

1.数据库优化数据库是高并发系统的瓶颈之一,因此需要进行一些优化工作,缓解对数据库的压力。

(1)使用索引使用合适的索引可以提高数据的查询速度,降低数据库的负载。

但是,索引建立得不好,反而会影响性能,因此需要有一定的数据库设计和优化经验。

(2)水平切分和垂直切分当数据库的数据量达到一定程度的时候,需要对其进行水平切分或垂直切分,将不同的数据存储在不同的服务器上,避免单一数据库过载。

2.负载均衡负载均衡是高并发系统必须考虑的问题之一,可以将请求平均分配到不同的服务器上,提高系统的稳定性和吞吐量。

常见的负载均衡算法有轮询算法、加权轮询算法、随机算法等。

3.CDN加速CDN是指内容分发网络,可以将网站的静态资源存储在离用户最近的服务器上,加快用户访问速度。

互联网架构的演变过程(一)

互联网架构的演变过程(一)

互联⽹架构的演变过程(⼀)简介web1.0时代web2.0时代互联⽹时代互联⽹+ --》智慧城市。

2012年提出。

云计算+⼤数据时代背景随着互联⽹的发展,⽹站应⽤的规模不断扩⼤,常规的垂直应⽤架构已⽆法应对,分布式服务架构以及流动计算架构势在必⾏,亟需⼀个治理系统确保架构有条不紊的演进。

1、第⼀时期单⼀应⽤架构all in one(所有的模块在⼀起,技术也不分层)⽹站的初期,也认为互联⽹发展的最早时期。

会在单机部署上所有的应⽤程序和软件。

所有的代码都是写在JSP⾥⾯,所有的代码都写在⼀起。

这种⽅式称为all in one。

特点:1、不具备代码的可维护性。

2、容错性差。

因为我们所有的代码都写在JSP页⾥。

当⽤户或某些原因发⽣异常。

(1、⽤户直接看到异常错误信息。

2、这个错误会导致服务器宕机)容错性,是指软件检测应⽤程序所运⾏的软件或硬件中发⽣的错误并从错误中恢复的能⼒,通常可以从系统的可靠性、可⽤性、可测性等⼏个⽅⾯来衡量。

单体地狱。

:只需⼀个应⽤,将所有功能都部署在⼀起,以减少部署节点和成本。

2 第⼀时期后阶段解决⽅案:1、分层开发(提⾼维护性)【解决容错性】2、MVC架构(Web应⽤程序的设计模式)3、服务器的分离部署特点:1、MVC分层开发(解决容错性问题)2、数据库和项⽬部署分离问题:随着⽤户的访问量持续增加,单台应⽤服务器已经⽆法满⾜需求。

解决⽅案:集群。

3 可能会产⽣的⼏个问题:1.1. ⾼可⽤“⾼可⽤性”(High Availability)通常来描述⼀个系统经过专门的设计,从⽽减少停⼯时间,⽽保持其服务的⾼度可⽤性。

(⼀直都能⽤)1.2. ⾼并发⾼并发(High Concurrency)是互联⽹分布式系统架构设计中必须考虑的因素之⼀,它通常是指,通过设计保证系统能够同时并⾏处理很多请求。

⾼并发相关常⽤的⼀些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发⽤户数等。

高并发系统设计的架构与优化

高并发系统设计的架构与优化

高并发系统设计的架构与优化随着数字化进程的深入和社会信息化的加速,互联网应用的高并发要求越来越高。

在此背景下,如何设计和优化高并发系统成为了信息技术领域研究的热点问题。

本文将从系统架构和优化两方面进行探讨。

一、系统架构设计高并发系统的架构设计是保证系统稳定性和可扩展性的关键。

一个好的架构设计方案应该具备以下特点。

1. 数据库读写分离在高并发场景下,数据库成为系统瓶颈之一。

为了解决这个问题,通常采取读写分离的策略。

即将读操作和写操作分别由不同的数据库实例处理。

这样既可以提高数据库的读写效率,又可以减轻数据库的负担,从而降低系统崩溃的风险。

2. 负载均衡负载均衡是为了让系统能够平衡地分配压力,从而使得系统总体上的吞吐量最大化。

通常采取硬件负载均衡或软件负载均衡。

硬件负载均衡通常使用专门的负载均衡服务器,而软件负载均衡则通过程序来实现。

无论哪种负载均衡方式,都必须能够实现节点之间的数据同步。

3. 分布式存储分布式存储可以解决单点故障以及数据存储管理问题。

系统可以将数据分散存储到多个节点上,这些节点之间可以互相备份,如果其中一个节点发生故障,其他节点可以顶替其工作。

从长远来看,分布式存储也可以更好地适应系统的扩展性需求。

4. 缓存机制缓存技术可以将数据存储在内存中,加快系统的响应速度,并可以有效减轻数据库的压力。

常用的缓存技术有Redis、Memcached等。

这些技术可以让系统数据更快地访问,从而更好的满足用户的需求。

5. 异步消息队列在高并发系统中,异步消息队列可以保证数据的异步化处理和传递。

异步方式可以移除数据的实时性要求,从而减缓系统的压力。

同时,消息队列适合处理大量的数据流,可以提高系统的性能。

二、系统优化除了系统架构的设计外,还需要进行系统优化,以进一步提高系统的性能和稳定性。

优化方面可以从以下几个方面入手。

1. 数据库优化数据库是高并发系统中的一个重要组成部分。

针对数据库,主要的优化手段包括合理使用索引、优化SQL语句、使用缓存等。

高并发架构实战:从需求分析到系统设计

高并发架构实战:从需求分析到系统设计

负载均衡则是保证系统在高并发下的稳定运行的关键技术。通过合理地分配 请求到多个服务器上,可以避免某个服务器过载,保证了整体系统的稳定性。
而异步处理则适用于那些处理时间较长的任务。将这些任务放到后台异步处 理,可以避免对前端请求的阻塞,提高系统的并发处理能力。
这本书还强调了监控和日志的重要性。一个好的监控系统可以帮助我们实时 了解系统的运行状况,及时发现并解决问题。而详细的日志记录则为我们提供了 问题排查的依据,有助于我们快速定位和解决故障。
在当今这个信息爆炸的时代,互联网应用面临着前所未有的并发压力。不论 是社交应用、电商平台还是在线视频会议,都需要在数百万甚至亿级别的用户并 发访问下保持流畅的用户体验。这不仅需要强大的服务器硬件支持,更需要优秀 的系统架构设计。
这本书从需求分析开始,引导读者逐步进行系统设计。它强调了如何识别并 定义系统的关键性能指标,例如响应时间、吞吐量、并发用户数等。然后,书中 详细介绍了如何运用分布式架构、缓存机制、负载均衡和异步处理等手段来优化 系统。
作者简介
这是《高并发架构实战:从需求分析到系统设计》的读书笔记,暂无该书作者的介绍。
谢谢观看
《高并发架构实战:从需求分析到系统设计》是一本非常值得一读的书。它 不仅为我们提供了一个全面的高并发架构实战指南,还通过丰富的案例和实用的 技巧帮助我们快速掌握这一领域的知识。无论大家是技术新手还是资深工程师, 都能从这本书中受益匪浅。
阅读感受
《高并发架构实战:从需求分析到系统设计》读后感
《高并发架构实战:从需求分析到系统设计》是一本深入浅出地讲解高并发 架构设计和实践的书籍。通过对这本书的学习,我深刻地理解了高并发系统架构 的重要性以及如何构建一个高效、稳定、可扩展的系统。
精彩摘录

互联网项目中的技术选型与架构设计

互联网项目中的技术选型与架构设计

互联网项目中的技术选型与架构设计在互联网项目中,技术选型和架构设计是至关重要的环节。

一个合理的技术选型和架构设计能够确保项目的顺利进行,提高项目的稳定性、可扩展性和性能。

一、技术选型在进行技术选型时,需要根据项目的需求和目标,综合考虑各种技术方案的优劣,选取最适合的技术栈。

以下是一些常见的技术选型方向:1. 前端技术选型在选择前端技术时,需要考虑项目的用户体验和性能要求。

常用的前端技术包括HTML5、CSS3和JavaScript。

此外,还可以选择一些流行的前端框架,如React、Angular和Vue.js,来提升开发效率和用户体验。

2. 后端技术选型在选择后端技术时,需要考虑项目的业务需求和可扩展性。

常用的后端技术包括Java、Python和Node.js。

对于大型项目,可以考虑使用分布式架构和微服务架构,以实现高可用性和可扩展性。

3. 数据库技术选型在选择数据库技术时,需要考虑项目的数据规模和读写需求。

常用的关系型数据库有MySQL、Oracle和SQL Server,适合处理结构化数据。

对于大数据量和高并发的场景,可以考虑使用NoSQL数据库,如MongoDB和Redis。

4. 云计算平台选型在选择云计算平台时,需要考虑项目的扩展性和成本效益。

常用的云计算平台包括AWS、Azure和阿里云。

通过使用云计算平台,可以快速搭建和扩展项目的基础设施,降低运维成本。

二、架构设计在进行架构设计时,需要根据技术选型的结果,设计出合适的系统架构。

以下是一些常见的架构设计方向:1. 分层架构分层架构将系统划分为多个层次,每个层次负责不同的功能。

常用的分层架构有三层架构和四层架构。

三层架构包括展示层、业务逻辑层和数据访问层;四层架构在此基础上增加了应用服务层。

2. 微服务架构微服务架构将系统划分为多个独立的小服务,每个服务都可以独立开发、部署和扩展。

通过微服务架构,可以实现系统的高可用性和可扩展性。

同时,微服务架构也带来了挑战,如服务间通信和数据一致性等问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前言
高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。

为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。

在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。

服务器架构
业务从发展的初期到逐渐成熟,服务器架构也是从相对单一到集群,再到分布式服务。

一个可以支持高并发的服务少不了好的服务器架构,需要有均衡负载,数据库需要主从集群,nosql缓存需要主从集群,静态文件需要上传cdn,这些都是能让业务程序流畅运行的强大后盾。

服务器这块多是需要运维人员来配合搭建,具体我就不多说了,点到为止。

大致需要用到的服务器架构如下:
•服务器
o均衡负载(如:nginx,阿里云SLB)
o资源监控
o分布式
•数据库
o主从分离,集群
o DBA 表优化,索引优化,等
o分布式
•nosql
o redis
▪主从分离,集群
o mongodb
▪主从分离,集群
o memcache
▪主从分离,集群
•cdn
o html
o css
o js
o image
并发测试
高并发相关的业务,需要进行并发的测试,通过大量的数据分析评估出整个架构可以支撑的并发量。

测试高并发可以使用第三方服务器或者自己测试服务器,利用测试工具进行并发请求测试,分析测试数据得到可以支撑并发数量的评估,这个可以作为一个预警参考,俗话说知己自彼百战不殆。

第三方服务:
•阿里云性能测试
并发测试工具:
•Apache JMeter
•Visual Studio性能负载测试
•Microsoft Web Application Stress Tool
实战方案
通用方案
日用户流量大,但是比较分散,偶尔会有用户高聚的情况;
场景:用户签到,用户中心,用户订单,等
服务器架构图:
说明:
场景中的这些业务基本是用户进入APP后会操作到的,除了活动日(618,双11,等),这些业务的用户量都不会高聚集,同时这些业务相关的表都是大数据表,业务多是查询操作,所以我们需要减少用户直接命中DB的查询;优先查询缓存,如果缓存不存在,再进行DB查询,将查询结果缓存起来。

更新用户相关缓存需要分布式存储,比如使用用户ID进行hash分组,把用户分布到不同的缓存中,这样一个缓存集合的总量不会很大,不会影响查询效率。

方案如:
•用户签到获取积分
o计算出用户分布的key,redis hash中查找用户今日签到信息
o如果查询到签到信息,返回签到信息
o如果没有查询到,DB查询今日是否签到过,如果有签到过,就把签到信息同步redis缓存。

o如果DB中也没有查询到今日的签到记录,就进行签到逻辑,操作DB添加今日签到记录,添加签到积分(这整个DB操作是一个事务)
o缓存签到信息到redis,返回签到信息
o注意这里会有并发情况下的逻辑问题,如:一天签到多次,发放多次积分给用户。

o我的博文[]有相关的处理方案。

•用户订单
o这里我们只缓存用户第一页的订单信息,一页40条数据,用户一般也只会看第一页的订单数据
o用户访问订单列表,如果是第一页读缓存,如果不是读DB
o计算出用户分布的key,redis hash中查找用户订单信息
o如果查询到用户订单信息,返回订单信息
o如果不存在就进行DB查询第一页的订单数据,然后缓存redis,返回订单信息
•用户中心
o计算出用户分布的key,redis hash中查找用户订单信息
o如果查询到用户信息,返回用户信息
o如果不存在进行用户DB查询,然后缓存redis,返回用户信息
•其他业务
o上面例子多是针对用户存储缓存,如果是公用的缓存数据需要注意一些问题,如下
o注意公用的缓存数据需要考虑并发下的可能会导致大量命中DB查询,可以使用管理后台更新缓存,或者DB查询的锁住操作。

o我的博文[]对更新缓存问题和推荐方案的分享。

以上例子是一个相对简单的高并发架构,并发量不是很高的情况可以很好的支撑,但是随着业务的壮大,用户并发量增加,我们的架构也会进行不断的优化和演变,比如对业务进行服务化,每个服务有自己的并发架构,自己的均衡服务器,分布式数据库,nosql主从集群,如:用户服务、订单服务;
消息队列
秒杀、秒抢等活动业务,用户在瞬间涌入产生高并发请求
场景:定时领取红包,等
服务器架构图:
说明:
场景中的定时领取是一个高并发的业务,像秒杀活动用户会在到点的时间涌入,DB瞬间就接受到一记暴击,hold不住就会宕机,然后影响整个业务;
像这种不是只有查询的操作并且会有高并发的插入或者更新数据的业务,前面提到的通用方案就无法支撑,并发的时候都是直接命中DB;
设计这块业务的时候就会使用消息队列的,可以将参与用户的信息添加到消息队列中,然后再写个多线程程序去消耗队列,给队列中的用户发放红包;
方案如:
•定时领取红包
o一般习惯使用 redis的 list
o当用户参与活动,将用户参与信息push到队列中
o然后写个多线程程序去pop数据,进行发放红包的业务
o这样可以支持高并发下的用户可以正常的参与活动,并且避免数据库服务器宕机的危险
附加:
通过消息队列可以做很多的服务。

如:定时短信发送服务,使用sset(sorted set),发送时间戳作为排序依据,短信数据队列根据时间升序,然后写个程序定时循环去读取sset队列中的第一条,当前时间是否超过发送时间,如果超过就进行短信发送。

一级缓存
高并发请求连接缓存服务器超出服务器能够接收的请求连接量,部分用户出现建立连接超时无法读取到数据的问题;
因此需要有个方案当高并发时候时候可以减少命中缓存服务器;
这时候就出现了一级缓存的方案,一级缓存就是使用站点服务器缓存去存储数据,注意只存储部分请求量大的数据,并且缓存的数据量要控制,不能过分的使用站点服务器的内存而影响了站点应用程序的正常运行,一级缓存需要设置秒单位的过期时间,具体时间根据业务场景设定,目的是当有高并发请求的时候可以让数据的获取命中到一级缓存,而不用连接缓存nosql数据服务器,减少nosql数据服务器的压力
比如APP首屏商品数据接口,这些数据是公共的不会针对用户自定义,而且这些数据不会频繁的更新,像这种接口的请求量比较大就可以加入一级缓存;
服务器架构图:
合理的规范和使用nosql缓存数据库,根据业务拆分缓存数据库的集群,这样基本可以很好支持业务,一级缓存毕竟是使用站点服务器缓存所以还是要善用。

静态化数据
高并发请求数据不变化的情况下如果可以不请求自己的服务器获取数据那就可以减少服务器的资源压力。

对于更新频繁度不高,并且数据允许短时间内的延迟,可以通过数据静态化成JSON,XML,HTML等数据文件上传CDN,在拉取数据的时候优先到CDN拉取,如果没有获取到数据再从缓存,数据库中获取,当管理人员操作后台编辑数据再重新生成静态文件上传同步到CDN,这样在高并发的时候可以使数据的获取命中在CDN服务器上。

CDN节点同步有一定的延迟性,所以找一个靠谱的CDN服务器商也很重要
其他方案
•对于更新频繁度不高的数据,APP,PC浏览器,可以缓存数据到本地,然后每次请求接口的时候上传当前缓存数据的版本号,服务端接收到版本号判断版本号与最新数据版本号是否一致,如果不一样就进行最新数据的查询并返回最新数据和最新版本号,如果一样就返回状态码告知数据已经是最新。

相关文档
最新文档