网站的优化----首页优化---app调取服务端数据

news/2024/5/9 18:06:54/文章来源:https://blog.csdn.net/weixin_30364325/article/details/96920348

高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等。为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案。

//对于APP网站首页数据,通常是有APP请求服务端数据在本机进行绘制。APP越少的请求服务端的,就会减少服务器压力:资源和带宽。

1.服务端给APP下发的数据越少,减少无用字段的下发。就是APP需要什么,服务端下发什么。

2.APP每次请求服务端数据,服务端下发最新数据和数据版本号,APP可以缓存到本地,每次接口请求数据的时候,上传当前缓存数据的版本号,服务端也计算出最新数据的版本号,进行对比,如果版本号相同不在下发数据,APP直接调取本地数据,反之,服务端下发最新数据和数据版本好给APP。

3.服务端架构方面的设计,不在由APP请求接口时被动redis 数据或者是不做缓存操作。 而是服务端主动调取mysql数据,刷入redis,APP请求接口只从redis 读取数据

下面是为Api->app调取数据设计的服务端的架构简图,也是目前我在项目中使用的。

 

逻辑方面:

有cron进行主动请求mysql数据,进行刷新redis数据,app通过api接口请求redis数据。

因为cron是定时任务脚本,所以主动请求时间不能太短,频繁请求mysql数据,这样就会给mysql资源造成压力。最好是在5-10分钟之内。但是这样就有一个问题数据不同步,如后端更新数据到mysql,cron要5-10分钟才能主动请求刷新redis.稳定和性能上都比较好些,所以重构的时候采取了这样的方案。

这样就设计的刷新缓存的策略的问题

1.主动刷新

  1)后台更新时,删除缓存,主动触发cron脚本,刷新缓存

    这样先删除缓存,再写入。在用户请求是会出现访问不到数据。会影响用户体验。

     2)后台更新时,主动触发cron脚本,刷新缓存

        对于这样,后台大量数据更新,可能会多次对一个key写入redis,会想redis刷入不确定的数据,影响数据显示的正确性

   3)后台更新时,主动触发cron脚本,生成数据版本号,版本号作为key保存数据,存入版本号栈,最上面是最新数据的版本号,最下面是原始数据的版本号,当APP请求时,app上传的版本号和原始数据版本号,如果相同不下发数据,不同的话,弹出栈顶层版本号,下发最新数据,删除旧版本号数据(会造成垃圾数据的积累),版本号栈留下最新版本号删除其他。(做一个页面分页时采用的)

     4)由cron脚本主动请求数据库,刷新数据,频率不能太高。

      数据有一定的延迟性

2.被动刷新

  把刷新数据的任务交给app请求,如果app请求时redis内没有数据,则请求各个接口调取数据库数据,下发数据和版本号,刷新redis缓存。

  当大量访问时,会产生并发的访问,造成阻塞。

 

app访问整体简图

 

转载于:https://www.cnblogs.com/riding/p/5894482.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717580.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yahoo!给出的34条网站加速方法

2019独角兽企业重金招聘Python工程师标准>>> 1. 减少HTTP请求 一个典型的http请求报文大概是这样的: GET /3.3.0/build/yui/yui-min.js HTTP/1.1Host: yui-s.yahooapis.comPragma: no-cacheCache-Control: no-cache... 虽然也就几行文字,但是…

网站漏洞修复之UEditor漏洞 任意文件上传漏洞

2019独角兽企业重金招聘Python工程师标准>>> UEditor于近日被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字…

网站二次开发的总结

半个多月的时间,完成了网站的二次开发,其中,存在太多的问题,还是比较心烦的(一)首先就说我自己做的工作吧,自己在工作中做了什么,其实我的工作量很大的,logo的设计&#…

使用nginx的proxy_cache做网站缓存

2019独角兽企业重金招聘Python工程师标准>>> 文章源自网络 proxy模块中常用的指令时proxy_pass和proxy_cache.nginx的web缓存功能的主要是由proxy_cache、fastcgi_cache指令集和相关指令集完成,proxy_cache指令负责反向代理缓存后端服务器的静态内容&…

部署lamp动态网站(图解)

环境拓扑如下:1.两台虚拟机要互通 2.修改selinux 服务器133上: 1.安装需要的组件httpd,mariadb,php 2.重启服务 3.编辑测试默认网页(测试完后,删除) 4.设置防火墙 客户端139上:可见&…

读书笔记-01大型网站架构演化-思维导图

1.服务器分离? 随着业务发展,越来越多的用户访问导致网站性能越来越差,越来越多的数据导致存储空间不足,这时候就需要将网站进行分离。 2.使用缓存? 随着用户增多,数据库压力越来越大导致访问延迟想象越来越…

SEM优化教程第1讲—SEM是什么?SEM与SEO的区别?

一、SEM是什么?商户通过搜索引擎付费推广,让网民主动的找到商户,点击商户的广告,最后和商户产生联系或直接下单。 二、SEM的作用企业角度:企业付费给搜索引擎购买相关广告信息(按点击付费的)企业…

漫谈网站开发规范

任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一、代码维护和扩展。由于Web项目开发的分散性、独立性、整合 的交互性等,所以定制一套完整的约定和规则显得尤为重要。本文档将定制一系列约定和规则,…

MySQL百万级高并发网站实战攻略

为什么80%的码农都做不了架构师?>>> 在一开始接触PHP接触MYSQL的时候就听不少人说:“MySQL就跑跑一天几十万IP的小站还可以,要是几百万IP就不行了”,原话不记得了,大体就是这个意思。一直也没有好的机会去…

Nginx配置HTTPS证书网站

前提: 1、主机需要先安装openssl 2、编译安装nginx时,要加上--with-http_ssl_module 这个ssl模块 现在开始配置:(我当时配置时,主机已安装了openssl,但编译时没有加载http_ssl_module模块,所以…

全球顶尖的移动交互设计网站集萃 转

2019独角兽企业重金招聘Python工程师标准>>> Android App Patterns http://www.android-app-patterns.com/category/grid Androidux http://androidux.com/ Uxarchive http://www.uxarchive.com/ Lovely UI http://www.lovelyui.com/ Mobile Patterns h…

PHP使用Apache 中的ab 测试网站的压力性能

打开Apache服务器的安装路径(我用的是 WampServer)在bin目录中有一个ab.exe的可执行程序它就是要介绍的压力测试工具。 在Windows系统的命令行下进入ab.exe程序所在目录执行ab.exe程序。注意直接双击无法正确运行。<喎"http://www.2cto.com/kf/ware/vc/" target&q…

网站建设过程中容易被忽略的元素

网站从建设到真正运营&#xff0c;会忽略很多元素。其实一个网站能否达到预期的效果&#xff0c;网站建设与网站优化做好的同时&#xff0c;很关键一点&#xff0c;客户自身的问题。比如我们帮企业建设网站&#xff0c;网站提供的主要服务还是掌握在客户手上。下面福建SEO谈谈网…

Android上PhoneGap打包本地网站和在线网站

谢谢刚子提供这么个社区交流平台&#xff0c;特别感谢刚子提供上传权限&#xff0c; 哈哈&#xff0c;今天也发一个简单的Demo上来上来&#xff0c;给社区贡献一点绵薄之力。最近一直关注移动web开发&#xff0c;更多看的是web开发的程序的效果&#xff0c;还没有深入的去编程或…

利用HTTP Cache来优化网站

原文地址&#xff1a; http://www.cnblogs.com/cocowool/archive/2011/08/22/2149929.html 对于网站来说&#xff0c;速度是第一位的。用户总是讨厌等待&#xff0c;面对加载的Video和页面&#xff0c;是非常糟糕的用户体验。所以如何利用Cache来优化网站&#xff0c;值得深入研…

本土视频网站盈利艰难,海外会是新掘金场吗?

6月22日&#xff0c;爱奇艺会员数量突破1亿人&#xff0c;标志着中国本土视频网站之间的竞争进一步加剧。毕竟随着互联网人口红利消失&#xff0c;未来会员增速将会放慢&#xff0c;在多元化收入难以撑起视频网站成本前&#xff0c;会员制收入将是最重要的营收之一&#xff0c;…

网站漏洞检测之WordPress 5.0.0 修复方案

2019独角兽企业重金招聘Python工程师标准>>> 2019年正月刚开始&#xff0c;WordPress最新版本存在远程代码注入获取SHELL漏洞&#xff0c;该网站漏洞影响的版本是wordpress5.0.0&#xff0c;漏洞的产生是因为image模块导致的&#xff0c;因为代码里可以进行获取目录…

关于大型网站技术演进的思考(六)--存储的瓶颈(6)

2019独角兽企业重金招聘Python工程师标准>>> 在讲数据库水平拆分时候&#xff0c;我列出了水平拆分数据库需要解决的两个难题&#xff0c;它们分别是主键的设计问题和单表查询的问题&#xff0c;主键问题前文已经做了比较详细的讲述了&#xff0c;但是第二个问题我没…

keepalived+LVS实现网站负载均衡和HA

如上图所示&#xff0c;102和103是内网nginx服务器&#xff0c;100和101是边界LB&#xff0c;clinet是1&#xff0c;这个实验是为了实现在LB上虚拟出一个VIP&#xff0c;client通过访问该VIP&#xff0c;来动态负载到两台内网nginx服务器上面来。流量的来回&#xff0c;都需要经…

大型网站的HTTPS实践一:HTTPS协议和原理一

1 前言百度已经于近日上线了全站 HTTPS 的安全搜索&#xff0c;默认会将 HTTP 请求跳转成 HTTPS。本文重点介绍 HTTPS 协议, 并简单介绍部署全站 HTTPS 的意义。2 HTTPS 协议概述HTTPS 可以认为是 HTTP TLS。HTTP 协议大家耳熟能详了&#xff0c;目前大部分 WEB 应用和网站都是…