AWS SQS Queue 구현을 시도하여 백엔드 서버와의 데이터베이스 상호 작용을 최소화했지만 문제가 있습니다.AWS SQS queue 성능 향상
- 하나의 SQS 대기열에서 메시지를 찾는 소비자 프로세스가 하나 있습니다.
- 클라이언트가 웹 인터페이스에서 버튼을 클릭하면 JSON 메시지가 SQS 대기열에 저장됩니다.
- 응용 프로그램 서버의 백엔드 작업은 SQS 대기열에서 JSON 메시지를 가져 와서 대기열에서 메시지를 삭제하고 처리합니다.
기능을 테스트하기 위해 하나의 클라이언트에 대한 로직을 구현했습니다. 잘 돌아 갔어. 그러나 3 개의 클라이언트를 추가 할 때 제대로 작동하지 않았습니다. SQS 대기열에 500 개의 메시지가 쌓여 있고 백엔드 작업이 대기열에서 올바르게 읽히고 있음을 알 수있었습니다.
백엔드 작업 수를 늘리거나 클라이언트 SQS 대기열 수를 늘려야합니까? 현재 모든 클라이언트가 동일한 큐로 메시지를 보냅니다.
필요한 백엔드 작업 수는 어떻게 계산합니까? 또한 SQS를 더 빨리 작동시킬 수있는 설정이 있습니까?
우리는 더 많은 정보가 필요합니다. 나는 문제없이 SQS를 통해 수백 메시지/초를 밀어 넣었습니다. 코드/세부 정보가 필요합니다. – stdunbar
"500 메시지로 갇혔다"는게 무슨 소리 야? 여기서 정확히 작동하지 않는 것은 무엇입니까? 대기열에 메시지를 추가 할 수 없다는 말입니까? SQS 큐는 메시지를 저장합니다. SQS가 수행하는 "일"이 없으므로 "일을 더 빨리"한다는 의미를 이해하지 못합니다. 다음과 같이 필요한 백엔드 작업 수를 계산합니다. 대기열의 항목이 원하는만큼 빨리 처리되지 않으면 더 많은 작업자를 추가합니다. –
정보를 제공해 주셔서 감사합니다. 초당 저장할 수있는 메시지 수에 제한이 있는지 궁금합니다. 제한이 없으므로 더 많은 작업자 스레드를 추가하고 체크 아웃하는 것처럼 보입니다. – Arav