-
Jira 적용, 스토리지 정책 결정, WebSocket 문제 해결배움/작업기 2025. 6. 5. 20:44반응형
작업을 하다 보면 추가해야할 기능, 버그 수정, 기능 변화 등 해야 할 것들이 끝도 없다..
그래서 비록 협업툴이지만 나 혼자서도 쓸 수 있겠다 싶어 Jira를 써보기 시작했다.
또한 생성 완료된 이미지를 웹상에 노출시키기 위해서 어떤 방식을 써야할지 고민해보았는데,
먼저 연산 서버에서 생성한 이미지나 비디오를 특정 스토리지에 담은 후 URL로 노출시키고 그 URL을 통해 이미지나 비디오를 가져오는 방식을 택했다.
그럼 스토리지는 어떤 것을 사용할 것이냐..
1. 로컬 스토리지
2. 클라우드 스토리지
둘 중 뭐가 나을까 고민하다가 결국 확장성 등을 고려해 클라우드 스토리지로 택했다.
스토리지 중에선 구글 클라우드 스토리지를 사용할 것 같다.
AWS도 괜찮긴 하지만 요즘 구글이 클라우드 쪽으로 엄청 몰아붙이는 느낌이었달까.
향후엔 구글의 클라우드 점유율이 AWS 이상이 될지도 모르겠단 생각이 들어서..
아무튼. 그리하여 내 서비스의 데이터 흐름은 다음과 같이 되겠다.
유저 - 프론트 - 백 - 연산서버 - 백 - Cloud - 백 - 프론트 - 유저.
유저가 프론트를 통해 요청을 보내면 백엔드가 요청을 받아 연산서버로 연산 요청을 보낸다.
연산서버는 이미지 등을 생성한 뒤 산출물을 백엔드로 보낸다.
백엔드에 임시 저장된 산출물은 클라우드로 업로드된 후 백엔드에서는 삭제된다.
산출물은 클라우드에 저장되고, 백엔드에서는 해당 산출물의 URL을 프론트로 보낸다.
프론트에서는 URL을 통해 클라우드로부터 이미지나 비디오 등을 노출시킨다.
그런데 이런 과정을 위해서는 아무래도 먼저 Progress bar를 먼저 만들어야 할 것 같다..
Progress bar를 위해서는 WebSocket을 적용할 필요가 있는데,
연산서버에서는 이미 시스템 상태창과 Progress 정보를 내보내고 있다.
그렇다면 내가 할 일은..
1. 연산서버로부터 보내는 웹소켓 메시지를 백엔드에서 받는 것
2. 백엔드에서 프론트로 웹소켓 메시지를 보내는 로직을 구현하는것
3. 프론트에서 웹소켓 메시지를 받는 것
4. 받은 메시지를 정제하여 웹상에 적절한 UI와 함께 노출시키는 것
일단 오늘까지는 시스템 상태창은 백엔드상에 제대로 들어오고 있는 것을 확인했는데,
이상하게도 Progress 정보는 들어오고 있지 않다.
꽤 한참을 씨름한 결과..
Client Id가 ws 도메인에 적절히 반영되어 있지 않다는 것을 발견했다.. ^^;
시스템 상태는 Clinet Id와 무관하게 모든 Client 들에게 항시 보내는 데이터인 반면에
Progress 정보는 특정 Client가 이미지 생성 요청을 보냈을 때 생성이 진행된 정도를 나타내는 것이기 때문에
Client Id가 필수 정보였기 때문이다.
아무튼 백엔드에서 데이터를 잘 받는것까지는 무사히 확인했다.
이제는 클라우드를 구현하기 이전에 Progress bar를 구현하고,
웹소켓을 구현하는 김에 상태창까지도 구현을 할 예정이다.
반응형'배움 > 작업기' 카테고리의 다른 글
Progress Bar, Live Preview, Separated modules (0) 2025.06.08 WebSocket 남은 문제 해결, http to https 작업, 시스템 리소스 메시지 출력 (0) 2025.06.07 이미지 생성 화면 수정 (0) 2025.06.04 워크플로우 관련 로직 구상 + 워크플로우 템플릿 CRUD 추가 (0) 2025.06.04 프론트 기본구성 추가 (0) 2025.06.02