1.总部启动着的时候,rabbitmq重启(kiil或者shutdown),消费者能否重连,有无异常。多试几次。 ---- 答:mqclient会收到ShutdownSignalException,进行关闭旧连接动作。 卡住的连接,write会抛异常退出。
由于connectionFactory.getRabbitConnectionFactory().setAutomaticRecoveryEnabled(true);
自动恢复了连接。
生产者发送正常,消费者注册和消费都正常。
2.rabbitmq停着的时候,总部启动,然后再启动rabbitmq,消费者能否正常注册,,有无异常。多试几次。 ---- 答:启动总部时,注册消费者,卡几秒,然后报错: java.net.ConnectException: Connection refused: connect 但是,try catch了,所以不影响启动。
send时,报错,但是都catch住了,所以不影响。 ---- mq启动后,send时会创建连接没问题。 消费者不会注册!!(因为是启动总部时,注册的消费者)
3.总部持续发大量消息的时候(2分钟10W左右),rabbitmq重启(kiil或者shutdown),重启后,是否一切正常。 ---- 4.总部启动,对rabbitmq的依赖,代码分析 见(2) ----
二.rabbitmq内存升高 1.持续发大量消息,消息数量少消息体大,或者消息数量大消息体小,观察对rabbitmq内存的影响 答:消息大,影响大一些。变化幅度比较大,上蹿下跳。
2.消费者消费单条消息,消费2小时以上的情况下,也就是一条消息消费2小时,观察对rabbitmq内存的影响。消费慢的时候,还要持续发消息。 答:跟不消费类似。主要看堆积消息的影响。
3.其他可能影响rabbitmq内存的因素 ----------------
三,mq 内存超出警戒线,block时。 (1)总部启动没问题。 (2)消费者可以注册上,自动生成队列。可以消费。 (3)生产者可以创建连接,发送消息显示成功,但实际没发送到mq,只是在系统发送缓冲区里。 当发送缓冲区满后,send方法卡住。
四:
RetryCache类有bug,发送总是失败时,会不停发到Cache里进行重试。
|