Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

♻️ 공통 이미지 및 이미지 서버 url 설정 통합 #676

Open
4 tasks done
fromitive opened this issue Dec 23, 2024 · 0 comments · May be fixed by #679
Open
4 tasks done

♻️ 공통 이미지 및 이미지 서버 url 설정 통합 #676

fromitive opened this issue Dec 23, 2024 · 0 comments · May be fixed by #679
Assignees

Comments

@fromitive
Copy link
Contributor

fromitive commented Dec 23, 2024

📌 Description

이미지 서버 URL을 변경에 유연하게 대응할 수 있도록 추상화 합니다.

TLDR (Too Long Don't Read)

이번 마이그레이션을 진행하면서 업로드 시 이전 CloudFront 주소를 반환한 것을 알게되었습니다.

의사결정 할 때 변경에 유연하지 않은 코드를 작성해서 발생한 것 같습니다.

이번 이슈를 계기로 변경에 유연한 코드로 리팩터링 해보려고 합니다.

늦게 발견한 이유는 제가 아이폰 유저라서 테스트 할 때 웹 페이지 위주로 테스트하기 때문이었습니다.

안드로이드 앱이 잘 동작하는지를 확인해야 함을 이번 마이그레이션을 직접 하면서 깨달았습니다.

변경해야 하는 부분은 크게 두 부분입니다.

1. 사진 업로드 시 주소 반환(웹 사이트 이미지 추출 기능은 og태그를 직접 추출하므로 제외)
2. 공통이미지 주소 반환 
    - 공모 상태
    - 공모 이미지 없을 시 default 이미지(no-image.png) 경로 출력

마이그레이션 진행 중 아래처럼 서로 다른 환경을 구축할 때 추상화의 필요성을 느껴졌습니다.

1. 개발 서버와 운영 서버의 이미지 서버 분리
2. 공통 이미지와, 업로드 이미지의 url 분리
3. 이미지 서버가 달라질 경우(로컬 서버, AWS S3, 다른 클라우드 플랫폼 등) 어떻게 유연하게 설정 할 것인지

3번 같은 경우 stroageService로 추상화 했기 때문에 변화에 유연해졌습니다.

문제는 개발 서버, 운영 서버의 환경을 다르게 할 때 아래의 그림처럼 유연하게 대처하기 어려움을 느꼈습니다.

image

물론 객체마다 서로 다른 Url을 사용할 수 있지만, 프로젝트를 운영하면서 각각 다른 Url을 설정할 확률이 적다고 판단했습니다.

따라서, redirectUrl을 하나의 설정 값으로 추상화 하는 선택을 했습니다.

📝 To-do

  • CommentRoomInfoResponse 주소 추상화
  • OfferingMetaResponse 주소 추상화
  • redirectUrlresourceHost로 변경
  • application.properties로 각 환경 별 resourceHost 관리
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

1 participant