Thank you Gary Russell for reply the question about the issue of AmqpResourceNotAvaible(AmqpResourceNotAvailableException: The channelMax limit is reached. Try later).
After applying one of the improvements mentioned in the post earlier (change publishConfirm to false). The MaxChannel limit is not reached.
Due to this, for keeping the integrity of the messages we need to know that the messages have been deliveried to the broker for some queues (online flow) for other queues what have only logging function, it's not necessary to wait the Ack. Having said that, we have implemented a new PublisherConnectionFactory and RabbitTemplate bean with the publishConfirm and mandatory property to false and I got a improvement on our performance.
As I mentioned in the previous post, our apps( have 6 microservices using rabbit queues) receive 200 tps (transaction per sec) even more, one of our microservice may publish in four queues different my question is:
Would my app work better if we implement one publishConnection factory and rabbitTemplate for each different queue ?