일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ReactJS
- Gradle
- Git
- 요리
- redis
- AWS
- devops
- IntelliJ
- Spring Boot
- db
- Spring
- JVM
- tool
- jsp
- Design Patterns
- javascript
- springboot
- jenkins
- Spring Batch
- elasticsearch
- laravel
- Oracle
- it
- ubuntu
- php
- linux
- MySQL
- 맛집
- java
- Web Server
- Today
- Total
아무거나
[cloudsearch] cloudsearch 무한 processing -> 최근상품 리스트표시X 본문
cloudsearch 이슈 시나리오
- 원인
# 중고나라앱에서 특정 상품이 리스트(cloudsearch)에만 존재하고 상세정보(dynamoDB)가 없는 이슈가 발생시 수동으로 다이나모디비에 상품정보를 입력하게 되면
백단에 node.js 로 돌고있는 프로그램에서 dynamoDB -> cloudsearch 수동으로 등록한 상품의 id값부터 상품을 재 업로드하게 되어 최근등록한 상품이 노출되지 않는 이슈가 발생
그래서 cloudsearch에서는 계속 processing이라는 표시만 7시간 지속되었다.
- 대응
# 우선 대응용 cloudsearch를 새로 구성하여 dynamoDB랑 field sync를 맞춘 후 upload document를 이용하여 데이터 인덱스를 생성해준다.
# dynamoDB에 있는 데이터를 넣으려니 데이터 사이즈 제한이 있었다. -> 파이프라인을 통하여 s3에 업로드하고(json) 그 json파일을 cloudsearch에 upload document를 활용하여 export하려고 했다.
# aws 파이프라인을 사용하려 했지만 리전싱크가 안맞아서 사용을 못했다.(현재시점에서 우리쪽은 서울리전이고 파이프라인은 서울리전이 서비스 되지않고 있었다.)
# 작업도중에 기다리니 알아서 인덱싱이 완료됨.
* 위 원인을 해결하려면 최초등록일자에 대한 값이 필요할 것 같다.
* 타 업체 분석 결과
1. 단 기간에 한 건씩 많은데이터 주입으로 인한 오버헤드 발생
네트워크 오버헤드
-. 색인 오버헤드
-. http 서버 오버헤드
2. 우리가 사용하는 리전에 M4.large에 대한 리소스가 충분하지 않아서
인덱싱 , processing가 처리되지 않아 리소스 추가하고 다시 워크 플로우 실행 하여
처리가 되었다고 합니다.
결론 , 오버헤드 발생으로 인한 문제 발생과, AWS 리전 문제로 인덱싱 처리 지연
'Infra > AWS' 카테고리의 다른 글
[aws-sdk-java] s3에 파일업로드하기 (0) | 2019.06.24 |
---|---|
[aws-java-sdk] S3 Bucket 조회 (0) | 2019.06.21 |
[codedeploy] 트리거 설정(aws sns 알람) (0) | 2019.03.21 |
[codepipeline] codepipeline에서 s3연동시 주의사항 및 요금 (0) | 2019.03.21 |
codedeploy 세팅(+codecommit) (0) | 2019.03.21 |