전체 플로우
엔드유저 → Data Stream → Firehose → S3
- 엔드유저가 Data Stream으로 데이터를 쏨.
- Data Stream에서 Firehose로의 과정 도중에 Data Schema에 대한 검사도 진행됨
- Data Schema 형태가 잘못됐다면,
S3
내의error
를 기록하는 곳에 기록됨.
디바이스앱에서 하는건 Data Stream에 넣는 행위만 하므로, 스키마 위반에 대한 에러를 받을 수 없다.
AWS Kinesis Data Stream
- 분산 큐 & 스트리밍 스토리지 역할
- 데이터 저장을 위해 휘발성 메모리가 아니라 디스크와 같은 비휘발성 저장소 사용
- 현재는 24시간 까지만 저장해둠
FE에서 쏘는 데이터는 Data Stream으로 데이터를 쏘는 것임
.png?table=block&id=58b76397-c1cb-45d9-a48c-fc47d51cdb4b&cache=v2)
PutRecords
,PutRecord
를 통해 Data Stream으로 데이터를 밀어넣음
AWS Kinesis Firehose
- Kinesis Data Stream으로부터 또는 Direct로 얻어지는 데이터를 특정 Destination 에 저장해주는 역할
- Data Stream 가져와서 → S3에 저장
PK(파티션 키)
를 type으로 지정하고, type 에 따라 사용하는 Shared
를 다르게 지정해서 사용한다.
Shared에 있는 데이터는 24시간(설정값) 후에 사라짐.