Back to Javatutorial

消息队列kafka详解:如何实现延迟队列

docs/mq/kafka/消息队列kafka详解:如何实现延迟队列.md

1.0.02.0 KB
Original Source

KafkaһֲʽϢϵͳ㷺ӦڻʹʵӦУҪʵӳٶеĹܣԱһʱִijЩ߷ijЩϢKafkaṩ˶ַʽʵӳٶУĽһֳʵַ

һӳٶи

ӳٶһһʱִϢĻơӦóʱϢ͡ʱȵȡӳٶеʵַʽж֣һֱȽϳʵַǻϢеӳϢơ

KafkaУӳϢָڷϢʱָһӳʱ䣬Ϣӳʱ䵽űѡKafkaṩһЩTopicڴ洢ӳϢ"delayed-messages"߽̿ԶڴЩTopicϢϢ·͵ĿTopicУӶʵӳٶеĹܡ

KafkaеӳϢʵԭ

KafkaӳϢʵԭȽϼ򵥣Ҫ漰ϢkeyʱϢkeyУһʱʾϢӳʱ䡣߷ϢʱϢ͵"delayed-messages" TopicУϢkeyеʱ߽̻ᶨڴ"delayed-messages" TopicϢϢkeyеʱǷѾڡʱѾڣϢ·͵ĿTopicУ"target-messages"ʱδڣϢ·͵"delayed-messages" TopicУһµӳʱͿʵӳٶеĹܡ

Kafkaӳٶеʵֲ

ʵKafkaеӳٶУ԰²У

1.һרŵTopicڴ洢ӳϢ"delayed-messages"ʹKafkaй߻Kafka APIд

2.ϢkeyӳʱʹõǰʱӳʱΪkey磺"key":"message_body"ʹKafka APIϢ"delayed-messages" TopicС

3.һ߽̣"delayed-messages" TopicеϢʹKafka APIʵ̡߽

4.߽УϢkeyеʱǷѾڡʹõǰʱϢkeyеʱбȽϡʱѾڣϢ·͵ĿTopicУ"target-messages"ʹKafka APIʵϢ·͡

5.ʱδڣϢ·͵"delayed-messages" TopicУһµӳʱʹKafka APIʵϢ·ͣϢkeyµӳʱ

6.ȴһʱظִе4͵5ֱϢkeyеʱѾڡ

ͨϲ裬ͿʵKafkaеӳٶйܡҪעǣ߽Ҫڴ"delayed-messages" TopicϢϢkeyеʱǷѾڡԸݾӦóòͬӳʱ䡣

ġӳϢʵֵȱ

Kafkaʵӳٶеķŵ㣺

1.ڷֲʽϵͳʵӳٶйܣнϸߵĿչԺͿɿԡ

2.ʵּ򵥣ֻҪʹKafka APIɣ򹤾ߡ

3.֧Ϣͺѣܺ

4.صӳʱĿTopicڲͬӦó

ǣKafkaʵӳٶҲһЩȱ㣺

1.Ҫ̶߽ڴ"delayed-messages" TopicϢ߽崻ֹͣӰӳٶеĹܡ

2.߽ҪϢ·ͺͼ飬ҪһԴʱ䡣

3.ӳʱ侫ޣСֻܴﵽ뼶

ġܽ

KafkaһǿķֲʽϢϵͳʵӳٶеĹܡͨϢkeyӳʱ̵߽ĶѺ·ͣʵӳٶеĹܡKafkaʵӳٶеķʵּ򵥡չԸߡܺõŵ㣬ҲһЩȱ㡣ʵӦУҪݾӦóѡʵӳٶʵַ