인프런 커뮤니티 질문&답변

똘이77님의 프로필 이미지
똘이77

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

선생님 장고 관하여 질문있습니다

해결된 질문

작성

·

187

0

안녕하세요 선생님 강의 잘듣고 있습니다 감사합니다! 

다름이 아니라 궁굼한게 있어서 질문드립니다

거래소 시스템은 거의다 java로 개발되는건가요 

장고로 개발하면 느려서 그런건가요???

그리고

거래소를 개발하게 된다면 

nginx  장고 rest api + node.js 웹소켓 + 카프라 방식은 어떤지 견해를 듣고싶습니다

 

답변 1

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

거래소 시스템도 사용하는 개발스택은 다양하지 않을까 싶습니다.

업비트에서는 파이썬/장고 등을 사용하는 것으로 알고 있습니다.
관련 구인공고 : https://www.wanted.co.kr/wd/117084

Java가 국내에서 인터넷 대중화의 시작을 함께 했기에, Java 위주의 생태계가 이미 많이 꾸려져 있어서, 그 관성으로 사용되어지는 곳이 많은 것이라 생각합니다. Java를 이제 그만 놓아줍시다 라고 이야기하시는 분들이 많지만, 기존에 개발인력 및 유지보수되는 개발스택을 변경하는 것은 어려운 일이니깐요. 이에 대해서는 몇 일을 이야기해도 시간이 모자랍니다.

파이썬이 느려서 서비스에 못 쓰겠다라고 이야기하는 것은 너무나 단편적인 접근입니다. 그렇게 이야기하시는 분들은 대개 실제로 써보신 분들이 아니라, 풍문으로 누가 그러더라. 라고 이야기하시는 분들이 많은 거 같아요.

모든 결정에는 트레이드오프 (trade off)가 있구요. 득이 있으면 실도 있습니다. 실보다 득이 크다고 판단이 되는 결정이 하게 되는 것이겠죠.

거래소를 개발해본 적이 없어서, 거래소가 어떻게 설계되는 지는 잘 모릅니다. 그리고 DRF + nodejs ws + kafka 스택도 텍스트 만으로는 잘 모르겠습니다. 서비스 성격에 따라 다양한 아키텍처가 만들어질테니깐요. 각 역할에 대해서도 써주시면 좋을 듯 하구요.

장고에서 웹소켓은 channels 라는 라이브러리가 django 팀에서 개발/유지보수하고 있습니다. 이미 버전3까지 개발된 안정성 높은 라이브러리입니다. django 팀에서 관리하는 만큼 django와의 통합이 좋습니다.
https://github.com/django/channels

kafka가 어떤 역할로 사용하시는 것인가요? 파이썬에서는 celery와 함께 rabbitmq나 redis가 많이 사용되고, channels와 함께 redis가 사용됩니다.

두서없이 썼는 데요. 미력하게나마 도움이 되셨으면 합니다.

궁금증이 해결되셨다면 본 질문의 상태를 해결됨으로 변경 부탁드립니다.

화이팅입니다. :-)

ps. channels 강의를 준비 중에 있습니다.

똘이77님의 프로필 이미지
똘이77
질문자

감사합니다! 요즘 코인 거래소들은 rest api websokect api를 둘다 제공하고 있어서

장고로 rest api 웹소켓 둘다 되지만

데이터 수신 was는 node.js 웹소켓으로 받고 config나 단일 데이터나 post만 rest api로 하면 어떨지 생각해봤습니다

카프라는 대용량 분산용으로 생각했었습니다 답변 감사합니다!

이진석님의 프로필 이미지
이진석
지식공유자

아. 웹소켓은 서버가 아니라 클라이언트를 쓰실려는 것이군요.

웹 소켓 클라이언트로서 nodejs가 어떤 장점이 있는 지 모르겠지만, 파이썬에서도 웹소켓 클라이언트 라이브러리가 있으니 써보시면 관리포인트를 줄일 수 있지 않을까요?

화이팅입니다. :)

똘이77님의 프로필 이미지
똘이77

작성한 질문수

질문하기