목록마이크로서비스 (6)
Zero To One

목표 - S3 이벤트가 SQS로 전송되게 만들고, SQS로부터 이벤트를 받아 람다가 실행시키게 한다 메세지큐를 쓰는 이유 - 소스에서 처리속도가 빠르고, 타켓에서 처리속도가 느린경우 타켓에서의 처리속도를 따라가게 하기 위해 큐를 둬서 이벤트 들을 하나씩 쌓아놓고 하나씩 처리하게 하기 위해서- 예시) 컴퓨터와 프린터 아키텍처 시작 1. > sam init You can preselect a particular runtime or package type when using the `sam init` experience. Call `sam init --help` to learn more. Which template source would you like to use? 1 - AWS Quick Start Tem..

목표 이미지가 업로드되면, 원본과 별도로 썸네일을 생성하고, 이를 별도의 버킷에 저장해야 합니다. 썸네일 이미지는 가로 200px의 크기를 가집니다. 썸네일을 저장할 별도의 버킷은 람다 함수의 환경 설정으로 구성되어야 합니다. 썸네일 생성이 완료되면, 메일로 해당 썸네일 URL과 함께 전송이 되어야 합니다. Amazon SNS를 활용합니다. 사용하는 것 node.js sam 시작 1. sam init -> 1 -> 5 -> 2 -> [프로젝트 이름 입력] > sam init You can preselect a particular runtime or package type when using the `sam init` experience. Call `sam init --help` to learn more...

1. https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html 자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 - AWS Lambda 자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 이 자습서에서는 Lambda 함수를 생성하고 Amazon Simple Storage Service(Amazon S3)에 대한 트리거를 구성합니다. Amazon S3는 S3 버킷에 업로드된 각 이 docs.aws.amazon.com 자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 를 따라하면서 발생한 오류는 다음과 같다. 2022-04-13T07:11:21.714Z104231a1-7936-4509-bf57-..
1. 메세지 서비스로 Apache Kafka와 Amazon SQS, Amazon Kinesis가 있다. 각각은 어떤 차이점이 있을까? Amazon SQS 서비스형 소비자가 큐에서 데이터를 땡겨오는 방식 (pull) 데이터는 소비되고 나서 삭제됨 많은 소비자를 붙일 수 있음 처리량에 대한 프로비저닝 불필요 FIFO(first in first out, 선입선출)큐를 이용하면 순서를 보장함 개별 메시지에 대한 지연 전송 가능 Amazon Kinesis 서비스형 Pull방식 및 Push 방식 둘다 사용가능 (push : 메시징 시스템이 소비자에게 메시지를 전달) 스트림 데이터와 같은 빅데이터를 다루는데 더욱 유리 데이터 소비 행위 자체를 replay할 수 있음(이벤트 스트림 재생) 데이터를 바로 삭제하지 않고 ..

DDD : Domain Driven Design 사업자 : 다루고자 하는 핵심 비지니스 영역 개발자 : 소프트웨어로 해결하고자 하는 문제 영역 쇼핑몰 - 상품 조회 및 구매 기능 제공 "쇼핑몰 도메인은 상품 조회, 구매, 결제, 배송 등 하위 도메인을 가진다" 하나하나의 기능(도메인)이 하나하나의 서비스(마이크로서비스)가 될 수 있다. 도메인이란? 해결하고자 하는 문제 영역 도메인 주도 설계의 주요 용어 1. 도메인 이벤트 : 발생한 사건 2. 커맨드 : 도메인 이벤트를 트리거하는 명령 3. 외부 시스템 : 도메인 이벤트가 호출하거나 관계가 있는 레거시 또는 외부 시스템 4. 액터 : 개인 또는 조직의 역할 5. 핫스팟 : 의문사항, 결정하기 힘든 사항 6. 에그리거트 : 도메인 이벤트와 커맨드가 처리하..

1. 아키텍쳐 구성의 변화 보통 회사에 가면 있는 팀 (기능 조직) 프론트엔드 팀 백엔드 팀 데이터 팀 프론트(클라이언트) 백엔드(서버) HTTP로 통신 (ALB) 백엔드(클라이언트) 데이터팀(서버) TCP로 통신 (NLB) 각 티어는 API로 서로 통신함 기본적으로 클라이언트-서버 아키텍처 3-Tier 아키텍처 Presentation Tier (프론트엔드) [alb endpoint, api.hello.click] Logic Tier (백엔드) Data Tier (데이터) [nlb endpoint] Full Stack 애플리케이션 구성도 모놀리틱 VS 마이크로서비스 모놀리틱 모든 기능들을 하나의 애플리케이션(프로세서)안에 넣고 multiple servers로 스케일링(ALB)을 한다. 모놀리식은 기존에 ..