====== AWS SQS ====== * https://aws.amazon.com/ko/sqs/ * [[springframework:aws:sqs|Spring Cloud AWS - SQS]] * [[https://github.com/adamw/elasticmq|SQS 호환 MQ]] * private 망내 접속하게 구성해야 한다. * https://github.com/vsouza/docker-SQS-local * [[aws:localstack|LocalStack]] ===== Message 크기 제한 ===== * 기본 ''256KiB'' 제한 있음. * [[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html|Quotas related to messages - Amazon Simple Queue Service]] * 단, [[https://github.com/awslabs/amazon-sqs-java-extended-client-lib}amazon-sqs-java-extended-client-lib]] 를 사용하여 [[aws:s3|S3]]와 연계해서 ''2GiB''까지 늘릴 수 있다. ===== FIFO ===== * [[https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html|Amazon SQS FIFO(선입선출) 대기열 - Amazon Simple Queue Service]] * [[https://aws.amazon.com/ko/blogs/aws/new-for-amazon-simple-queue-service-fifo-queues-with-exactly-once-delivery-deduplication/|New for Amazon Simple Queue Service – FIFO Queues with Exactly-Once Processing & Deduplication | AWS News Blog]] * [[https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-additional-fifo-queue-recommendations.html|Amazon SQS FIFO 대기열에 대한 추가 권장 사항 - Amazon Simple Queue Service]] : 필독 * [[https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/partitions-and-data-distribution.html|SQS FIFO 대기열의 높은 처리량을 위한 파티션 및 데이터 배포 - Amazon Simple Queue Service]] * FIFO Queue 는 성능과 큐에 처리안 되고 남아있을 수 있는 메시지의 총 갯수(2만개정도)에 제약이 있기 때문에, 철저히 확인하고 사용해야한다. * 만약 대용량 처리가 필요하다면 FIFO Queue 자체를 ''messageGroupId'' 를 기준으로 sharding 을 하는게 필요할 수도 있어보인다. ===== 권한 ===== * 절대로 Any Open 으로 두지 말 것. 아무나 접속해서 읽어갈 수 있다. ===== 참고 ===== * [[https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html|Amazon SQS 제한 - Amazon Simple Queue Service]] * [[https://www.javacodegeeks.com/2015/04/using-aws-sqs-as-jms-provider-with-spring.html|Using AWS SQS as JMS provider with Spring]]