docs/mq/RocketMQ/RocketMQ系列:顺序消费.md
RocketMQǰƷһԴϢмľϢĹܡҵУϢмѡʹRocketMQĻͦģһϵе¶RocketMQģȴRocketMQһЩͻĴʼ
RocketMQ4ɣֱǣƷName ServerϢУBrokersߣproducerߣconsumer4ֶԽˮƽչӶⵥϣͼ
RocketMQϵһͼdzг4֣ҶǼȺģʽǾͷֱ˵һ˵4֡
Name ServerݵĽɫһעģZookeeperòࡣҪ£
NameServerЭŷֲʽϵͳеÿһҹÿһTopic·Ϣ
BrokerҪǴ洢ϢṩTopicĻơṩƺģʽһЩֵĴʩϢǿһBrokcerӻơ
BrokerĽɫΪ첽ͬ͡ӡɫ㲻ϢĶʧһͬ͡ӡBrokerϢʧҲνֻҪпþokĻá첽͡ӡbrokerֻĴֻһ첽áӡҲǿԵġ
ᵽbroker֮ıݣbrokerϢҲǿԱ浽̵ģ浽̵ķʽҲ֣Ƽķʽ첽̣ͬǷdzܵġ
ּ֧ȺbrokerȺϢֶָ֧ؾķʽ
brokerϢʱõͽͽһ״̬ǵУϢisWaitStoreMsgOK = trueĬҲtrueΪfalseڷϢĹУֻҪ쳣ͽSEND_OK``isWaitStoreMsgOK = trueͽ¼֣
FLUSH_DISK_TIMEOUT̳ʱ̵ķʽΪSYNC_FLUSHͬsyncFlushTimeoutõʱڣĬ5sûɱ̵Ķõ״̬FLUSH_SLAVE_TIMEOUTͬӡʱbrokerĽɫΪͬʱõͬʱڣĬΪ5sû֮ͬͻõ״̬SLAVE_NOT_AVAILABLEӡãáͬûáӡbrokerʱ᷵״̬SEND_OKϢͳɹϢظϢʧ㷢ϢʧʱͨѡһǶͶɣϢĶˣһѡϢ·ͣпϢظͨ£Ƽ·͵ģϢʱҪȥظϢ
messageĴСһ㲻512kĬϵķϢķʽͬģͷһֱֱȵصӦȽܣҲsend(msg, callback)첽ķʽϢ
߿飨consumer groupͬ****ԶͬTopicҲԶTopicÿһ鶼Լƫ
Ϣѷʽһ֣˳ѺͲѡ
SUSPEND_CURRENT_QUEUE_A_MOMENT״̬߹һʱϢRECONSUME_LATER״̬ڲȷһʱٴڲʹThreadPoolExecutorΪ̳߳صģǿͨsetConsumeThreadMin``setConsumeThreadMaxС̡̺߳߳
һµ齨ԺҪǷ֮ǰʷϢCONSUME_FROM_LAST_OFFSETʷϢµϢCONSUME_FROM_FIRST_OFFSETѶеÿһϢ֮ǰʷϢҲһ顣CONSUME_FROM_TIMESTAMPָϢʱ䣬ָʱԺϢᱻѡ
ӦòظѣôϢĹУҪϢУ顣
ˣ͵ɣһƪǽRocketMQĻ