본문 바로가기

분류 전체보기159

도메인 주도 설계로 시작하는 마이크로서비스 개발 거의 1년만에 완독했다..! 실습 Jhipster 사용하는 부분에서 오류가 많이 나서 반만 성공했다. 😅 내용이 궁금하다면 정리한 노션을 참고해주시기를 도메인 주도 설계로 시작하는 마이크로서비스 개발 | Notion 도메인 주도 설계로 시작하는 마이크로서비스 개발 - 이론 uncovered-chocolate-cea.notion.site 클라우드 클럽에서 마이크로서비스라는 주제에 관심을 가지고 공부를 해봤다. 처음에는 그저 인프라와 관련된 방법론이겠거니.. 라고 생각했는데 이 책을 읽으면서 도메인 주도 설계나 헥사고날 아키텍처 같은 소프트웨어 아키텍처 방법론, 분산 환경에서 트랜잭션 관리와 실패 복구 방법 등을 보면서 굉장히 다루는 분야가 넓다고 생각했다. 특히 2장의 아키텍처 별 패턴을 볼 때 분산환경에.. 2024. 1. 17.
S3 정적 웹 호스팅 작업 순서 버킷 생성 파일 업로드 정적 파일 호스팅 권한 설정 1. 버킷 생성 이름 : 유니크한 이름 리전 : ap-northeast-2 ACL 비활성화 모든 퍼블릭 액세스 차단 비활성화, 경고 확인 버전 관리 비활성화 기본 암호화 활성화 2. 파일 업로드 gpt가 만들어준 html과 css 파일이다. 이 녀석들로 호스팅을 해본다. 파일을 S3 루트 디렉터리에 업로드했다. 3. 정적 파일 호스팅 속성 탭의 맨 밑에 정적 웹 사이트 호스팅 메뉴가 있다. 활성화하면 엔드포인트가 생성된다. 4. 권한 설정 엔드포인트에 다른 사람들도 접근할 수 있도록 설정한다. 권한 탭에서 버킷 정책 편집을 클릭, 정책 생성기에서 정책을 만든다. 모든 객체에 대해 접근을 허용할 것이므로 Principal에 *를 둔다. ARN .. 2024. 1. 17.
json 데이터를 S3에 업로드하는 API 만들기 : With AWS API Gateway, Lambda, S3 Upload 참고 자료 https://www.youtube.com/watch?v=13SswprYsHQ → 이 영상에서는 http api gw 사용했는데, rest api gw와 통합하기 위해 아래 문서 참고해서 고침 https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/getting-started-lambda-non-proxy-integration.html#getting-started-new-api https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/api-gateway-payload-encodings.html Role 생성 entity type : AWS service .. 2024. 1. 17.
S3에 파일 업로드, 다운로드하는 public API 만들기 Upload API 참고 자료 https://youtube.com/watch?v=7T5VbMEJStQ https://repost.aws/knowledge-center/api-gateway-upload-image-s3 버킷 생성 이름, 리전 지정 버저닝 허용 암호화 허용 다른 설정은 모두 default Role 생성 및 연결 Role 생성 Trust : AWS Service Use case : API Gateway Permission : AmazonAPIGatewayPushToCloudWatchLogs Role name : api-gateway-s3-role Role에 Policy 생성 및 연결 생성한 Role 콘솔 → Add Permissions → Create Inline Policy Service :.. 2024. 1. 17.
[AWS Session 기록] Key Value NoSQL과 키 디자인 패턴 (feat. Dynamo DB) 서버리스 아키텍처를 구성하던 중 서버리스 데이터베이스인 DynamoDB를 알게 되었다. 인물 퀴즈 백엔드 API에 적용하고자 DynamoDB에 대해서 조사해보았는데, 안타깝지만 내가 원하는 사용 패턴과 DynamoDB의 접근법이 달라서 도입할 수 없었다. 어쨌든 DynamoDB를 조사하면서 이 서비스가 어떤 장점이 있고, 어떤 유즈 케이스에 도입하면 좋을지, 키를 어떻게 설계해야할지 알아본 내용을 정리한다. DynamoDB란? DynamoDB는 AWS가 제공하는 서버리스 기반의 NoSQL 데이터베이스이다. Key Value 스키마를 제공한다. Key Value는 조인 연산이 필요한 RDS의 스키마보다 더 유연하고 빠른 조회를 지원한다. (NoSQL과 RDS 스키마는 그 기반이 다르다. CPU 최적화 vs.. 2024. 1. 17.
[AWS Session 기록] 2200만 사용자를 위한 채팅 시스템 아키텍처 - 서호석 솔루션즈 아키텍트, AWS / 변규현 SW 엔지니어, 당근마켓 :: AWS Summit Korea 2022 당근마켓의 마이크로서비스 도입 초기 모놀리틱 시스템 구성 Ruby on Rails, PostreSQL 한대 Amazon ECS 현재 마이크로서비스 구성 GO, Nodejs, Python, Java, Kotlin Amazon EKS 마이크로서비스 도입의 장점 API 중심 개발 : 모놀리식은 유저와 직결되는 기능에 초점을 맞추지만, 마이크로서비스는 사내 개발자에게 제공할 API도 설계 코드 복잡도 : 모놀리스는 한 서버에서 모든 기능을 구현하므로 코드 복잡도가 크지만, 마이크로서비스는 코드 복잡도가 낮은 여러 서비스로 구성하므로 코드 관리가 쉬움 빌드 시간 : 서비스가 크지 않으므로 이슈 트래킹이나 배포에 걸리는 시간이 비교적 짧다 왜 당근마켓은 마이크로서비스 도입을 선택했는가? Main DB에 채팅 데이터.. 2024. 1. 17.