python java 并发方案_python高并发的解决方案

本文探讨了提升高并发性能的多种策略,包括使用CDN加速静态资源加载,利用精灵图减少HTTP请求,后台结合MySQL与Redis进行数据库优化,SQL和索引调整,分库分表及读写分离,运用缓存技术,集群化部署如Django+uWSGI+Nginx,以及采用分布式异步任务处理框架Celery,并提出在并发密集场景下考虑使用Golang。
摘要由CSDN通过智能技术生成

一.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语言编写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值