摘要:
何时使用分布式消息队列?就我的认知来看,消息队列目前有几类用途。1.消除峰值,控制流速比如这样一个场景,今日头条的百万答题,在结束之后需要分钱,分钱就需要写库。而你的mysql只允...
何时使用分布式消息队列?
就我的认知来看,消息队列目前有几类用途。
1.消除峰值,控制流速
比如这样一个场景,今日头条的百万答题,在结束之后需要分钱,分钱就需要写库。而你的mysql只允许你以300每秒写入,这时候消息队列是一个好的办法
图片来源:网络
2.离线计算
日志分析,图像处理,这些属于这类应用。
比如你想你能够根据web站点的日志做监控,这时候在不影响web服务的前提下,你可以定时通过消息队列传送日志流
3.解耦
想象一个用户上传图像的服务,用户只是想上传到空间,但是你需要加水印。如果加水印和用户记录在一起,会很慢。所以常见的做法是web服务接受图片,通过消息队列转发给水印服务,web服务本身不会阻塞住。
你所说的分布式队列,只是为了适应大吞吐的消息队列的优化实现,作用无非这几种。