摘要:
Celery 基于Python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理。 使用场景: 1.如果现在有一个非常复杂的批量命令,一台机器计算会花费很长时间,并且每台机器会花比较长的事件,可以借助多台机器来执行,但是又不想让程序等待下去,而是返回一个任务id,之后拿着这个任务id就 阅读全文
摘要:
组播 功能更加的强大,通过'#'(哈希)绑定键绑定时候,可以接收所有的消息,此时与路由无关,此时就像fanout交换器中一样 当在绑定中不使用特殊字符'*','#'接收消息的时候,此时就跟direct一样 topic_send.py topic_recevie.py 最终效果就可以达到选择性接收并且 阅读全文
摘要:
RPC(远程过程调用) 解决的问题:之前的模式都是基于一对一的发,另外端收到,不能继续发。 使用多个队列对多个消费者之间分配耗时的任务 客服端 服务端 运行结果: 阅读全文
摘要:
锁机制 锁:计算机中协调多个进程或线程并发访问某一资源的机制 有锁:有利有弊 弊:整个表被锁,其它数据不能进行操作 利:防止资源争夺(如果公司DBA要对数据库数据进行备份,容灾等操作此时防止别人窜改此时就需要加锁) 锁的分类 a.对数据操作分类 读锁(共享锁):针对同一份数据,多个读操作可以同时进行 阅读全文
摘要:
配置更多http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html 阅读全文
摘要:
大概流程 1)mysql启动以后,初始化模块就从系统配置文件中读取系统参数和命令参数,初始化整个系统,同时存储引擎也会启动; 2)初始化结束后,连接管理模块会监听客户端的连接请求,并将连接请求转发给线程管理模块去请求一个连接线程; 3)线程模块接到请求后会调用用户模块进行授权检查,通过授权以后会检查 阅读全文
摘要:
版本说明 https://dev.mysql.com/doc/relnotes/mysql/5.7/en/ 根据官方文献资料有说法:在这里我安装5.7.27,我为什么安装5.7.27版本?版本为全面通用性GA版本,其它版本5.7.0-5.7.26大多都为常规可用版本 5.7.27版本解决之前版本错误 阅读全文
摘要:
创建绑定方式 绑定使用路由参数(主要避免basic_publish参数混淆) 直接交换 在消息发布与订阅中,消息广播给所有在线的消费者,假如说有时候我们只需要接收严重错误的日志报告写到磁盘中,之前使用的fanout交换,并没有带来太大的灵活性 此时就可以使用直接交换:思想绑定密钥与路由密钥完全匹配的 阅读全文
摘要:
发布订阅 消息传达给多个消费者,这里构建一个日志记录系统 RabbitMQ消息传递模型思想:生产者只能将消息发送到转发器,转发器做的就是接收生产者发来的消息,另外方面就是把消息推送到队列中。 交换类型 direct:通过routingKey和exchange决定的哪一组的queue可以接收消息 to 阅读全文
摘要:
概述 工作队列(任务队列)的主要思想就是避免立即执行资源密集型任务,而不得不等待它去完成,相反的我们安排任务在以后完成这个任务,我们只需要将消息发送到队列中,在后台运行的工作进程弹出任务最终执行这个任务。 循环调度 使用任务队列的优点就是能够轻松并行化工作(消费这个任务) news_task.py 阅读全文