Python高并发解决方案实现过程详解


Posted in Python onJuly 31, 2020

 一.cdn加速

简单说就是把静态资源放到别人服务器上

全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络

基本思路:

尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

目的:

解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度和成功率。

控制时延无疑是现代信息科技的重要指标,CDN的意图就是尽可能的减少资源在转发、传输、链路抖动等情况下顺利保障信息的连贯性。

CDN就是扮演者护航者和加速者的角色,更快准狠的触发信息和触达每一个用户,带来更为极致的使用体验。

二.精灵图

什么是精灵图:

css精灵,是一种网页图片应用处理技术。主要是指将网页中需要的零星的小图片集成到一个大的图片中

应用的原因:

1.减少对浏览器的请求次数,避免网页的延迟

2.方便小图标的统一管理

精灵图的制作:

1.软件:ps

2.制作方法:

新建透明图层

添加参考线将画布划分,将小图标放入划分好的格子中

三.后台数据库使用mysql+Redis

mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在常用的 redis。首先,用户访问缓存,如果未命中,就去访问mysql,之后将mysql中的数据复制到缓存中。

redis是缓存,并且是驻留在内存中运行的,这大大提升了高数据量web访问的访问速度。redis提供了大量的数据结构,比如string、list、set、hashset、sorted set这些,之后用户的访问就能直接从Redis的内存中去取数据了,那内存的读取速度远远大于硬盘

四.数据库的优化

1.sql的优化

2.索引的优化

3.分库分表

4.读写分离

五.使用缓存

例如python-django-restframework自带的缓存

六.集群化的部署

例如:django+uwsgi+nginx

七.分布式+异步

celery:就是一个分布式异步的解决方案

八.语言层面

例如:在一些并发量更多的地方,该用golang语言编写

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
在Python的Django框架中实现Hacker News的一些功能
Apr 17 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
python字符串中的单双引
Feb 16 Python
Python登录并获取CSDN博客所有文章列表代码实例
Dec 28 Python
Django视图和URL配置详解
Jan 31 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
Python多线程threading模块用法实例分析
May 22 Python
python基于SMTP协议发送邮件
May 31 Python
Python 实现向word(docx)中输出
Feb 13 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
Python如何执行精确的浮点数运算
Jul 31 #Python
Python使用shutil模块实现文件拷贝
Jul 31 #Python
Python基于pyjnius库实现访问java类
Jul 31 #Python
Python如何将字符串转换为日期
Jul 31 #Python
Python在字符串中处理html和xml的方法
Jul 31 #Python
python中selenium库的基本使用详解
Jul 31 #Python
Python过滤序列元素的方法
Jul 31 #Python
You might like
为查询结果建立向后/向前按钮
2006/10/09 PHP
表单复选框向PHP传输数据的代码
2007/11/13 PHP
一步一步学习PHP(3) php 函数
2010/02/15 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
PHP也能干大事 随机函数
2015/04/14 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
Smarty3配置及入门语法
2017/02/22 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
异步加载script的代码
2011/01/12 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
Sea.JS知识总结
2016/05/05 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
Python实现一个简单的MySQL类
2015/01/07 Python
Numpy 将二维图像矩阵转换为一维向量的方法
2018/06/05 Python
Python中的Django基本命令实例详解
2018/07/15 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
旷课检讨书3000字
2014/02/04 职场文书
四年级语文教学反思
2014/02/05 职场文书
村创先争优活动总结
2014/08/28 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
升学宴答谢词
2015/01/05 职场文书
辩论会主持词
2015/07/03 职场文书
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers