DDD(Layerd) 기반으로 설계해보자!
·
Project/페이스콕
❐ Description페이스콕(레슨 파트)를 처음 설계할 때 DDD(Layered)를 적용하기로 마음 먹었다.이유는 과거에 위웃 프로젝트를 개발할 때 DDD를 점진적으로 적용하면서 많은 장점이 있다고 느꼈기 때문이다. 개발에 들어가기 앞서, 어떤 생각을 하면서 DDD 구조를 잡아가는지 기록하고 수정을 반복해보자!     ❐ 프로젝트 이해하기Bounded Context를 정하기 앞서, 해당 프로젝트의 기획과 비즈니스 플로우를 이해해야 했다.기획서를 바탕으로 분석한 결과, 프로젝트의 목적을 다음과 같이 정의할 수 있었다.베드민턴 레슨 예약 시스템을 제공하여유저가 보다 쉬운 경로로 베드민턴을 배울 수 있게하자! 위 목적을 도출하는 과정에서 중요 키워드(레슨, 예약, 유저)를 3개 추출했으며, "예약"이라는 ..
RabbitMQ 도입기
·
Project/페이스콕
❐ DescriptionRabbitMQ에 대해서 공부왜 SQS를 걷어내고 RabbitMQ를 도입하게 된건가RabbitMQ와 SpringBoot 연동로컬에서 RabbitMQ 테스트      ❐ RabbitMQ란?[TODO] RabbitMQ란? 포스팅 링크[TODO] 표준 메세징 프로토콜 정리하기 (참고 링크)    ❐ RabbitMQ 도입하기1️⃣ Private EC2 접근하기우선 ssh 커맨드로 public EC2에 접근한다. 현재 RabbitMQ가 구동되는 EC2는 private-subnet에 있기 때문에public EC2에서 또 ssh 커맨드를 사용해야 한다. 그러나 public EC2에는 pem 파일이 없다. 따라서 내 로컬 PC에서 public EC2에 pem 파일을 옮겨줘야 한다. 이럴 때 sc..
SSH 터널링으로 private-subnet에 있는 RDS 접근하기
·
Project/페이스콕
❐ Description현재 RDS는 보안상의 이유로 private-subnet 위치한다. 그래서 매번 콘솔로 접근을 해야하는데,쫌 번거롭다고 느꼈다. 그래서 오늘은 SHH 터널링을 통해서 private-subnet에 위치한 RDS에 접근하려고 한다.최종적으로 DataGrip에서 확인할 수 있게 끔 설정을 마무리 해볼 것이다.     ❐ 터널링 준비하기1. IAM 정책 생성기본적으로 AmazonSSMManagedInstanceCore 정책이 필요하다.추가적으로 ssm:DescribeInstanceInformation 권한이 없다면, 아래 command를 실행할 때 권한이 없다는 에러가 발생한다. aws ssm describe-instance-information --query "InstanceInform..
AWS SQS 도입기
·
Project/페이스콕
❐ DescriptionSQS가 무엇이고, 왜 SQS를 도입하기로 했는지 기록해보자.AWS SQS란?     ❐ SQS를 도입하자.현재 페이스콕 프로젝트의 Member 테이블은 Cafe24에 위치해 있고, Firebase에서 이를 복사해서 사용하는구조로 되어있다. 여기에 더해 이번에 추가하는 Lesson 도메인에서도 Member 정보가 필요한 상황이다.왜냐면 Lesson 도메인에서는 Member와 다른 테이블을 Join해서 데이터를 조회해야 하기 때문이다. 단순히 Member 테이블을 AWS Rds로 옮기면 해결될 문제라고 생각할 수 있지만, 아래의 문제가 발생한다.Member 도메인에 관련된 비즈니스 로직을 모두 가져와야 한다.OAuth 구현까지 가져와야 한다.시간이 무한정이라면 충분히 할 수 있는 작..
API Gateway 구축하기
·
Project/페이스콕
개발 일정과 Spring Cloud Gateway에 비해 간편하게 SSL인증 및 DNS 연동을 할 수 있기 때문에AWS API Gateway를 사용추후 비용 발생이 커질 경우 Spring Cloud Gateway 구축API Gateway 리전별 허용 IP 범위
프로젝트 타임라인
·
Project/페이스콕
2025년 1월 10일 (금)☑️ 미팅   2025년 1월 13일 (월) ~ 2025년 1월 16일 (목)☑️ 요구 사항 분석☑️ 도메인 설계 2025년 1월 16일 (목) ~  25(토)- 중간에 과제 전형 수행☑️ 클래스 설계[ ] 기능 리스트 업 2025년 1월 29일(수) ~  2월 1일(토)☑️ SpringBoot Project Setting  2025년 2월 2일(일) ~  2월 4일(화)☑️ ECR, ECS 무중단 배포 파이프라인 설계 및 구축