上篇文章消息队列那么多,为什么建议深入了解下RabbitMQ?我们讲到了消息队列的发展史: 并且详细介绍了RabbitMQ,其功能也是挺强大的,那么,为啥又要搞一个RocketMQ出来呢?是重复造轮子吗?本文我们就带大家来详细探讨RocketMQ究竟好在哪里. RocketMQ是一个分布式消息中间件,具有低延迟.高性能和可靠性.万亿级别的容量和灵活的可扩展性.它是阿里巴巴于2012年开源的第三代分布式消息中间件. 随着阿里巴巴的电商业务不断发展,需要一款更高性能的消息中间件,RocketMQ就是…
python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线程爬虫,速度是比较慢的,后学会用scrapy框架进行爬虫,速度很快,原因是scrapy是基于twisted多线程异步IO框架. 本例使用的asyncio也是一个异步IO框架,在python3.5以后加入了协程的关键字async,能够将协程和生成器区分开来,更加方便使用协程. 经过测试,平均1秒可以爬…
python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线程爬虫,速度是比较慢的,后学会用scrapy框架进行爬虫,速度很快,原因是scrapy是基于twisted多线程异步IO框架. 本例使用的asyncio也是一个异步IO框架,在python3.5以后加入了协程的关键字async,能够将协程和生成器区分开来,更加方便使用协程. 经过测试,平均1秒可以爬…
为什么用web.py? python的web框架有很多,比如webpy.flask.bottle等,但是为什么我们选了webpy呢?想了好久,未果,硬要给解释,我想可能原因有两个:第一个是兄弟项目组用webpy,被我们组拿来主义,直接用了:第二个是我可能当时不知道有其他框架,因为刚工作,知识面有限.但是不管怎么样,webpy还是好用的,所有API的URL和class在一个文件中进行映射,可以很方便地查找某个class是为了哪个API服务的.(webpy的其中一个作者是Aaron Swartz,这…
当你跑通了前面一个demo,博客地址:http://www.cnblogs.com/kangoroo/p/7299920.html,那么你的分布式异步之旅已经起步了. 性能和稳定性是web服务的核心评价指标.下面我们来说,怎么样部署服务,实现web服务的高并发和高可用. 我们将通过一些工具和部署,提升web服务的性能. 这篇文章我们先讲高并发 部署方式:nginx+gunicorn+wsgi 1.django和python的缺陷分析 django作为一个python实现的web服务器,它的性能其…
一.什么是高并发在互联网时代,所讲的并发.高并发,通常是指并发访问,也就是在某个时间点,有多少个访问同时到来.比如,百度首页同时有1000个人访问,那么也就是并发为1000.通常一个系统的日PV在千万以上,有可能是一个高并发系统(但有可能不算是一个高并发系统,比如有的公司不走技术路线,全靠机器堆...因为有钱任性!)二.高并发,我们具体应该关心什么?QPS:每秒请求或者查询的数量,在互联网领域,指的是每秒相应请求数(指HTTP请求).吞吐量:单位时间内处理的请求数(通常由QPS于并发数决定).响…
动态语言的并发处理 相关概念 什么是进程.线程.协程 什么是多进程.多线程 同步阻塞模型 异步非阻塞模型 php并发编程实践 什么是进程.线程.协程 进程 进程是一个执行中的程序 进程的三态模型:多道程序系统中,进程在处理器上交替运行,状态不断的发生变化 运行.就绪.阻塞 运行:当一个进程在处理机上运行时,则称该进程处于运行状态 就绪:当一个进程获得了除处理机以为的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态 阻塞:也成等待或睡眠状态,一个进程正在等待某一时间发生而暂停停止运行,…
先说场景: 根据Redis官网介绍,单机版Redis的读写性能是12万/秒,批量处理可以达到70万/秒.不管是缓存或者是数据库,都有批量处理的功能.当我们的系统达到瓶颈的时候,我们考虑充分的压榨缓存和数据库的性能,应对更大的并发请求.适用于电商促销双十一,等特定高并发的场景,让系统可以支撑更高的并发. 思路: 一个用户请求到后台,我没有立即去处理,而是把请求堆积到队列中,堆积10毫秒的时间,由于是高并发场景,就堆积了一定数量的请求. 我定义一个定时任务,把队列中的请求,按批处理的方式,像后端的R…
Gaea是支持跨平台具有高并发.高性能.高可靠性,并提供异步.多协议.事件驱动的中间层服务框架 Gaea:58同城开源的中间层服务框架 https://github.com/58code/Gaea 中间件 Gaea是支持跨平台具有高并发.高性能.高可靠性,并提供异步.多协议.事件驱动的中间层服务框架.相对于其它重量级的中间件,比如淘宝的dubbo,Gaea只做一件事,因此没有过多的项目依赖. 在学校的时候学过CORBA,因此对中间件有所了解.在CORBA中,接口通过IDL描述,然后分别生成本地存…
PHP写的异步高并发服务器,基于libevent 博客分类: PHP PHPFPSocketLinuxQQ  本文章于2013年11月修改. swoole已使用C重写作为PHP扩展来运行.项目地址:https://github.com/matyhtf/swoole swoole提供了PHP的高性能Server,异步IO,AsyncMySQL等特性. 原PHP代码框架迁移至https://github.com/matyhtf/swoole_framework.保留原有代码和web框架. -----…