• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

장고 프로젝트 질문

24.02.24 23:07 작성 조회수 123

2

안녕하세요 강사님 !

강사님께서 좋은 강의 올려주셔서 올려주신 강의 기반으로 프로젝트를 진행하려고 계획을 하고 있습니다. 계획 중에 몇가지 궁금한게 있어서 이렇게 질문 드립니다.

 

프로젝트 내용 : OPENAPI 데이터를 수집, 저장

설명 : OPEN API로 데이터를 받는 수집 모듈이 있고 받은 데이터를 필요한 값만 정리 해서 DB에 저장하고 그것을 모니터링 하는 프로그램을 만들려고 합니다.

 

질문1 : 모든 모듈(수집,가공,모니터링을) 안정성을 위해서 이중화 하려고 하는데 Docker의 컨테이너를 두개씩 실행시키면 이러한 것이 안정성와 이중화 개념에 적합한가요?

 

질문2 : 모든 모듈(수집,가공,모니터링)을 아마존 AWS에 클라우드에서 실행하려고 하는데 서버 하나를 빌려서 사용하면 한 서버 안에 수집, 가공,모니터링이 같이 존재하는데 서버가 죽게 되면 모니터링하는 부분도 같이 죽게 되는데 이 방법을 해결하려면 모니터링 서버를 따로 구축해서 해야 할까요?

질문3 : 수집은 스크립트로 작성하고 가공은 장고 프레임워크를 이용해서 구축하려고 하는데 수집도 장고 프레임워크로 하는게 전체적으로 안정성이나 여러 방변으로 효율적일까요?

 

아직 모르는게 많은 쥬니어개발자라 질문이나 정보가 잘못 되더라도 많은 양해부탁드립니다 ㅠㅠ

답변 1

답변을 작성해보세요.

0

안녕하세요 chicmania님,

질문1 : 모든 모듈(수집,가공,모니터링을) 안정성을 위해서 이중화 하려고 하는데 Docker의 컨테이너를 두개씩 실행시키면 이러한 것이 안정성와 이중화 개념에 적합한가요?

=> 일단 독립적인 Docker container를 만드는 것은 맞는 방법이긴 한데, 밑에 서버 하나에 두개의 다커 콘테이너를 돌리시는 것은 위험이 따른 것으로 보입니다. 보통은 high availability를 위해서는 각각을 독립적인 서버에다가 돌리시는 것이 적합합니다. 하지만 그냥 프로젝트 하시는 것이니 별 문제는 없어 보입니다. 처음부터 완벽하게 하실 필요는 없습니다.

 

질문2 : 모든 모듈(수집,가공,모니터링)을 아마존 AWS에 클라우드에서 실행하려고 하는데 서버 하나를 빌려서 사용하면 한 서버 안에 수집, 가공,모니터링이 같이 존재하는데 서버가 죽게 되면 모니터링하는 부분도 같이 죽게 되는데 이 방법을 해결하려면 모니터링 서버를 따로 구축해서 해야 할까요?

=> 네 보통은 따로 구축합니다. 모니터링 하는 부분이 같이 죽게되고, 로그를 다른 곳에 따로 저장하지 않는다면, 수집하는 모듈이 죽었을 때 그 이유를 알 수 없게 되니, 따로 구축하는 것이 정신 건강에 좋습니다 ㅎㅎ

질문3 : 수집은 스크립트로 작성하고 가공은 장고 프레임워크를 이용해서 구축하려고 하는데 수집도 장고 프레임워크로 하는게 전체적으로 안정성이나 여러 방변으로 효율적일까요?

=> 장고를 사용하는 이유는 그 프레임워크에서 자동으로 지원해주는 Feature들이 있기 때문입니다. 수집 스크립트에서 그러한 것들이 필요가 없다면 굳이 장고를 사용하실 필요는 없어 보입니다. 이러한 수집 스크립트들은 Celery같은 기술을 사용하시면 에러 핸들에 많은 도움이 될 것 같으나 없어도 상관은 없습니다. 그쪽은 이 강의 Celery 일부분을 보시거나, 제 Celery강의를 보시면 도움이 되실 겁니다.

chicmania님의 프로필

chicmania

질문자

2024.02.26

안녕하세요 강사님 답변 해주셔서 감사합니다!

답변중에 이해 못하겠는 부분이있어서요

=> 네 보통은 따로 구축합니다. 그리고 OpanAI API를 바로 사용하는 것 보다 LangChain를 이용하는 것이 장기적으로 코드를 관리하기 좋습니다.

OpenAI API를 사용한다는 내용이 없는데 답변이 어떤 내용인지 좀더 자세히 부탁드려도 될까요?

아 Chicmainia님

죄송합니다. 제가 요새 LLM에 빠져서 살다보니... OpenAPI를 OPENAI API로 ㅠㅠ 헛 것을 보았나봅니다. Django Swagger 사용하시면 쉽게 만드실 수 있을 겁니다. 필요한 오픈 소스 라이브러리는 강의에서도 소개했었습니다.