분류 전체보기 167

[내일배움캠프 솔직 후기] 비전공자가 4.5개월 만에 개발자로?

1. 내일배움캠프 이전의 삶저는 개발과 접점이 전혀없는 삶을 살아왔습니다. IT, 개발이라는 단어는 저에게 생소했고, 그저 막연히 어렵고 고된 일이라는 생각만 가지고 있었습니다. 하지만 코딩에 관심이 생기기 시작하면서 무작정 공부하기에는 두려움이 앞섰습니다. 그런 고민을 안고 여러 코딩 부트캠프를 찾아보니 "스파르타코딩클럽 내일배움캠프"를 알게 되었습니다. 내일배움캠프를 시작하며, 이렇게 깔끔하게 폴더를 정리하고 학습을 시작했습니다.나름 체계적으로 준비하려 했지만, 이후 공부량이 많아지면서 아래 사진처럼 폴더를 정리하기 시작했습니다.저의 개인적인 스타일로는 일자별로 정리해서 공부하면 찾기 매우 편했습니다.시간이 지나며, 체계적인 관리가 필요해 이렇게 일자별로 폴더를 새로 만들고 내용을 정리하기 시작했습니..

카테고리 없음 2024.11.28

[AWS] AWS Integration & Messaging - Kinesis와 SQS FIFO에 대한 데이터 정렬

Kinesis와 SQS FIFO에서 데이터가 어떻게 정렬되는지 보자.기술이 서로 비슷해 보이고 기능도 비슷한 편이지만 실제로는 아주 많이 다르다.밑의 사례로 살펴보자.Ordering data into Kinesis도로에 트럭이 100대가 있고 각각 트럭 ID가 있다고 하자.트럭1, 트럭2 그리고 트럭 100까지 도로에 있으며 GPS 위치를 주기적으로 AWS에 보낼 것이다.각 트럭의 순서대로 데이터를 소비해서 트럭의 이동을 정확하게 추적하고 그 경로를 순서대로 확인하려고 한다.어떻게 Kinesis로 데이터를 전달할까?  - 바로 파티션을 사용하면 된다. 이때 파티션 키 값은 트럭 ID이다.트럭 1은 트럭1의 파티션 키를 전송하고, 트럭 2는 트럭 2의 파티션 키를 전송할 것이다.  - 같은 파티션 키를 지..

[AWS] AWS Integration & Messaging - Kinesis Data Firehose

Kinesis Data Firehose생산자로부터 데이터를 가져올 수 있는 매우 유용한 서비스이며, Kinesis Data Streams에서 봤었던 내용 모든 것이 생산자가 될 수 있다.애플리케이션, 클라이언트 SDK 또는 Kinesis 에이전트는 모두 Kinesis Data Firehose로 생성될 수 있다. 그러나 Kinesis Data Stream을 Kinesis Data Firehose로 생성할 수도 있다.아마존 CloudWatch 로그 및 이벤트는 Kinesis Data Firehose로 생성될 수 있으며, 이러한 모든 애플리케이션은 Kinesis Data Firehose로 레코드를 전송할 것이고, 그런 다음 Kinesis Data Firehose는 람다 함수를 사용하여 데이터 변환을 선택할 수..

[AWS] AWS Integration & Messaging - Kinesis Data Streams

Kinesis Data StreamsKinesis Data Stream은 시스템에서 큰 규모의 데이터 흐름을 다루는 서비스이다.Kinesis Data Stream은 여러 개의 샤드로 구성되어 있고, 이 샤드는 1번, 2번에서 N번까지 번호가 매겨진다.  - 이 부분은 사전에 우리가 프로비저닝해야 한다.  - Kinesis Data Stream을 시작할 때 스트림을 여섯 개 샤드로 구성하겠다고 결정해야 한다.데이터가 모든 샤드에 분배가 되면, 샤드는 데이터 수집률이나 소비율 측면에서 스트림의 용량을 결정한다.위의 이미지 왼쪽에 생산자는 데이터를 Kinesis Data Stream으로 보낼 것이다. 생산자는 다양하고, 애플리케이션일 수도 있다. 데스크톱이나 휴대전화와 같은 클라이언트 일 수도 있고, 매우 낮..

[AWS] AWS Integration & Messaging - Kinesis

KinesisKinesis를 활용하면 실시간 스트리밍 데이터를 손쉽게 수집하고 처리하여 분석할 수 있다.  - 실시간 데이터에는 애플리케이션 로그, 계측, 웹사이트 클릭 스트림, IoT 원격 측정 데이터 등 어떤 것도 포함 될 수 있다.데이터가 빠르게 실시간으로 생성된다면 모두 실시간 데이터 스트림으로 간주 할 수 있다.Kinesis는 네 가지 서비스로 구성되어 있다.  - Kinesis Data Stresam       : 데이터 스트림을 수집하여 처리하고 저장한다.  - Kinesis Data Firehose       : 데이터 스트림을 AWS 내부나 외부의 데이터 저장소로 읽어 들인다.  - Kinesis Data Analytics       : SQL 언어나 Apache Flink를 활용하여 데..

[AWS] AWS Integration & Messaging - SNS + SQS : Fan Out

SNS + SQS : Fan Out (팬아웃 패턴)만약 다수의 SQS 대기열로 메시지를 보내려 할 때, 모든 SQS 대기열에 개별적으로 전송하려고 하면 문제가 발생할 수 있다.  - 예를 들어 애플리케이션에서 충돌이 발생하여 전송이 실패될 수도 있고, SQS 대기열을 더 추가하게 될 수도 있다.그래서 Fan Out 패턴을 사용해야 한다.SNS 토픽으로 한 번 메시지를 전송하고 원하는 만큼 SQS 대기열을 SNS 토픽에 구독시키는 것이다.이 대기열들은 구독자이고, SNS로 보내진 메시지들을 모두 받을 것이다. - 예를 들어, 어떤 물건을 구매했을 때 두 개의 대기열로 메시지를 전송하고 싶은 상황이면 각각 전송하는 대신, SNS 토픽에 한 개의 메시지를 전송하고 대기열 두 개가 SNS 토픽을 구독하고 있을 ..

[AWS] AWS Integration & Messaging - SNS

Amazon SNS메시지 하나를 여러 수신자에게 보낸다고 가정보자.이런 경우 직접 통합을 사용할 수 있는데, 구매 서비스 애플리케이션을 예로 들자면 이메일 알림을 보내고 사기 탐지 서비스와 배송 서비스 그리고 SQS 대기열에도 메시지를 보낼 수 있다. 하지만 수신 서비스를 새로 추가할 때마다 통합을 생성하고 작성해야 하므로 번거로울 수 있다.대신 Pub/Sub 즉, 게시/구독이라는 것을 사용할 수 있는데, 이를 통해 구매 서비스가 메시지를 SNS 주제로 전송할 수 있다. 메시지를 주제로 게시하는 것이다. 해당 주제에는 많은 구독자가 있으며 각 구독자는 SNS 주제에서 해당 메시지를 수신하고 이를 보관할 수 있다.Amazon SNS에서 "이벤트 생산자"는 한 SNS 주제에만 메시지를 보낸다."이벤트 수신자..

[AWS] AWS Integration & Messaging - SQS

AWS SQSSQS의 핵심은 대기열이다.SQS는 간단한 대기 서비스이고, 대기열에는 메시지를 포함한다.메시지를 담기 위해서는 무언가 SQS 대기열에 메시지를 전송해야 하는데 SQS 대기열에 메시지를 보내는 주체를 '생산자'라고 한다.   - 생산자는 한 개일 수도 그 이상일 수도 있다.여러 생산자가 여러 개의 메시지를 SQS 대기열에 보내게 할 수 있다.  - 메시지는 무엇이든 상관없다. 가령 '오더를 처리해라'일 수도 있고, '비디오를 처리해라'일 수도 있다.생성한 모든 메시지는 대기열에 들어간다. 그런 다음 대기열에서 메시지를 처리하고 수신해야 하는 대상을 '소비자'라고 한다.소비자는 대기열에서 메시지를 폴링하는데 이는 대기열에게 소비자 앞으로 온 메시지가 있는지를 물어보는 것이다. 만일 대기열에 메..

[AWS] AWS Integration & Messaging

미들웨어로 다른 서비스간 합동 작업을 하는 방법을 살표보자.애플리케이션을 여러 개 배포하려고 할 때 커뮤니케이션을 할 수 밖에 없다.우리의 서비스는 정보와 데이터를 공유해야 합니다. 애플리케이션 커뮤니케이션은 두 가지 패턴으로 나뉘어진다.먼저 동기 커뮤니케이션이 있다.  - 애플리케이션이 또 다른 애플리케이션과 직접적으로 연결되는 것이다. 가령 온라인으로 물건을 사고 파는 서비스가 있다고 했을 때, 물건이 판매가 되면 배송 서비스에 연락해서 방금 판매된 물건을 배송해야 한다. 위에 보실 수 있는것처럼 구매 서비스와 배송 서비스는 직접적으로 연결되어 있기 때문에 동기 커뮤니케이션이 발생하고 있다. 구매 서비스가 배송 서비스에게 사건이 발생했으니 배송을 하라고 이야기하는 거죠.다른 유형의 통합은 비동기 혹은..

[AWS] 모든 AWS 스토리지 옵션 비교

Storage ComparisonS3객체 스토리지로 상당히 구체적은 API이지만 대부분의 AWS와 연결할 수 있다.S3 Glacier객체를 아카이브 할 때 사용한다.EBS volumes한 번에 한 개의 EC2 인스턴스에만 스토리지를 연결할 때는 EBS 볼륨을 사용한다.IO1과 IO2 볼륨에 다중 연결 기능을 지원한다.볼륨 종류 :  GP3, IO2 등등Instace StorageIOPS가 높은 EC2 인스턴스에 네트워크 스토리지가 아닌 고성능 물리 스토리지를 필요로 하는 경우, EC2 Instance 스토리지를 사용해야 한다.EFS인스턴스가 네트워크 파일 시스템을 필요로 하며, 다중 가용 영역 간 마운트해야 하면서 POSIX 파일 시스템을 쓴다면 Amazon EFS 서비스를 사용해야 한다.FSx for ..