SQS - Client Ack Mode Piles up Inflight messages under load and Message Id's in JVM memory

0

SQS queue is implemented with a JMS Message Listener mode with Client ACK session mode. When the messages are read they are delegated to another JVM process to continue processing then Delete the message from the SQS queue. While the messages are deleted successfully. We see two different issues with this

  1. SQS System message Id for each read message is added to a list in the JVM1 where the message is read from the queue.
  2. Under load the number of inflight messages keeps on continously increasing overtime. We have 16 consumers in each JVM process to process the queue.

Does SQS support CLIENT_ACK mode across multiple JVM processes? i.e Read from 1st JVM and delete on the 2nd. how can we stop the SQS library build up the list of Message Id's in the RangeExtender implementation?

And, what do we need to do to keep the messages from getting deleted in a timely manner to avoid the build up of inflight messages. under normal load we do not see this issue. But when TPS increases beyond a certain point we see the inflight messages count keeps increasing.

질문됨 일 년 전84회 조회
답변 없음

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠