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实现Linux下守护进程的编写方法
Aug 22 Python
Python多线程、异步+多进程爬虫实现代码
Feb 17 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
Python实现选择排序
Jun 04 Python
python Pygame的具体使用讲解
Nov 03 Python
python使用tkinter实现简单计算器
Jan 30 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
Python图像处理模块ndimage用法实例分析
Sep 05 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
Python如何自动获取目标网站最新通知
Jun 18 Python
Python实现自动整理文件的脚本
Dec 17 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
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
php数组遍历类与用法示例
2019/05/24 PHP
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
python实现指定字符串补全空格的方法
2015/04/30 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
python Django编写接口并用Jmeter测试的方法
2019/07/31 Python
利用Python实现kNN算法的代码
2019/08/16 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
印尼旅游网站:via
2017/11/12 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
党员批评与自我批评
2014/02/12 职场文书
完美主义个人的自我评价
2014/02/17 职场文书
采购求职信
2014/03/17 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
坎儿井导游词
2015/02/09 职场文书