python 并发编程 多进程 生产者消费者模型总结
生产者消费者模型总结
生产者消费者模型什么时候用?
1、程序中有两类角色
一类负责生产数据(生产者)
一类负责处理数据(消费者)
2、引入生产者消费者模型为了解决的问题是
平衡生产者与消费者之间的速度差
程序解开耦合
3、如何实现生产者消费者模型
生产者<--->队列<--->消费者
如果使用multiprocessing模块 的Queue 实现生产者和消费者模型,意味着生产者,消费者,Queue三者必须都在同一台服务器上,
这是集中式,程序所有组件集中在同一台机器上,
集中式带来问题:
1.稳定性 机器坏了,所有程序一起坏
2.效率,性能问题 一台机器性能有极限
分布式管理 :
把所有组件分布出去,分布在一台台机器上
生产者运行在一堆机器上,消费者运行在另外一堆机器上
1.性能 提升了
2.稳定性 提升了
单台一台机器坏了,都不影响全局
还需要拿一台机器装个队列 管理消费者和生产者 典型队列软件有 RabbitMQ