rabbitmq 的使用

1 2 3 4 5 6 7 8 9 10 11 12 13              

一个生产者进程或者多个生产者进程往队列尾部添加需处理的任务

多个消费者从队列拿数据进行消费。

进程1拿1后,进程2拿2,进程1拿3,进程2拿4。。。。

rabbitmq 似乎是没有存储的概念。

将进程移到不同的机器上自然就能利用多台机器进行处理任务。

 

kafka 的使用

将消息进行存储

1 2 3 4 5 6 7 8 9 10 11 12 13              

消费者(group)连接topic,指定offset开始进行消费。

 

关于 rabbitmq和kafka 的一点点理解

关于 rabbitmq和kafka 的一点点理解关于 rabbitmq和kafka 的一点点理解

 

borker4 已经挂掉。。。

如果 record 落在 partition 0  则被发送到 broker 1,同步到 broker 2

如果 record 落在 partition 1  则被发送到 broker 0 ,  同步到 broker 2

如果 record 落在 partition 3 则被发送到 broker 2 , 同步到 broker 0 和 broker 1. 

 

关于 rabbitmq和kafka 的一点点理解关于 rabbitmq和kafka 的一点点理解

 

关于 rabbitmq和kafka 的一点点理解

 

关于 batch.size 和 linger.ms   ,  达到batch.size 提交,达到指定时间也提交。

5ms内数据量没有达到batch.size(默认16K) 提交。

如果1ms 您的数据量能达到32K,请重新设置batch.size .

貌似以前做项目时事数据积累到100条往solr提交一次,神似。

 

 

 

转载于:https://my.oschina.net/qidis/blog/1526477

相关文章: