Back to Javatutorial

RocketMQϵУһ

docs/mq/RocketMQ/RocketMQ系列:广播与延迟消息.md

1.0.02.0 KB
Original Source

RocketMQϵУһ

RocketMQǰƷһԴϢмľϢĹܡҵУϢмѡʹRocketMQĻͦģһϵе¶RocketMQģȴRocketMQһЩͻĴʼ

RocketMQ4ɣֱǣƷName ServerϢУBrokersߣproducerߣconsumer4ֶԽˮƽչӶⵥϣͼ

RocketMQϵһͼdzг4֣ҶǼȺģʽǾͷֱ˵һ˵4֡

ƷNameServer

Name ServerݵĽɫһעģZookeeperòࡣҪ£

  • brokerĹbrokerȺԼϢעᵽNameServerNameServerṩƼÿһbrokerǷ
  • ·ɹÿһNameServerbrokerȺͶеϢԱͻˣߺߣѯ

NameServerЭŷֲʽϵͳеÿһҹÿһTopic·Ϣ

Broker

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״̬߹һʱ󣬻Ϣ
  • ѣ߽ϢַʽܷdzãҲƼѷʽѵĹУ쳣ֱ׳ǷRECONSUME_LATER״̬ڲȷһʱ󣬻ٴ

ڲʹThreadPoolExecutorΪ̳߳صģǿͨsetConsumeThreadMin``setConsumeThreadMaxС̡̺߳߳

һµ齨ԺҪǷ֮ǰʷϢCONSUME_FROM_LAST_OFFSETʷϢµϢCONSUME_FROM_FIRST_OFFSETѶеÿһϢ֮ǰʷϢҲһ顣CONSUME_FROM_TIMESTAMPָϢʱ䣬ָʱԺϢᱻѡ

ӦòظѣôϢĹУҪϢУ顣

ˣ͵ɣһƪǽRocketMQĻ