docs/mq/kafka/消息队列kafka详解:如何实现延迟队列.md
KafkaһֲʽϢϵͳ㷺ӦڻʹʵӦУҪʵӳٶеĹܣԱһʱִijЩ߷ijЩϢKafkaṩ˶ַʽʵӳٶУĽһֳʵַ
ӳٶһһʱִϢĻơӦóʱϢ͡ʱȵȡӳٶеʵַʽж֣һֱȽϳʵַǻϢеӳϢơ
KafkaУӳϢָڷϢʱָһӳʱ䣬Ϣӳʱ䵽űѡKafkaṩһЩTopicڴ洢ӳϢ"delayed-messages"߽̿ԶڴЩTopicϢϢ·͵ĿTopicУӶʵӳٶеĹܡ
KafkaӳϢʵԭȽϼҪ漰ϢkeyʱϢkeyУһʱʾϢӳʱ䡣߷ϢʱϢ͵"delayed-messages" TopicУϢkeyеʱ߽̻ᶨڴ"delayed-messages" TopicϢϢkeyеʱǷѾڡʱѾڣϢ·͵ĿTopicУ"target-messages"ʱδڣϢ·͵"delayed-messages" TopicУһµӳʱͿʵӳٶеĹܡ
ʵ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ʵӳٶеķʵּչԸߡܺõŵ㣬ҲһЩȱ㡣ʵӦУҪݾӦóѡʵӳٶʵַ