해결된 질문
작성
·
187
답변 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 강의를 준비 중에 있습니다.
아. 웹소켓은 서버가 아니라 클라이언트를 쓰실려는 것이군요.
웹 소켓 클라이언트로서 nodejs가 어떤 장점이 있는 지 모르겠지만, 파이썬에서도 웹소켓 클라이언트 라이브러리가 있으니 써보시면 관리포인트를 줄일 수 있지 않을까요?
화이팅입니다. :)
감사합니다! 요즘 코인 거래소들은 rest api websokect api를 둘다 제공하고 있어서
장고로 rest api 웹소켓 둘다 되지만
데이터 수신 was는 node.js 웹소켓으로 받고 config나 단일 데이터나 post만 rest api로 하면 어떨지 생각해봤습니다
카프라는 대용량 분산용으로 생각했었습니다 답변 감사합니다!