노틸러스 트레이더에서 바이낸스 웹소켓을 다루는 방식을 개선 시켜서 PR을 넣었고, 무사히 병합 되었음.

https://github.com/nautechsystems/nautilus_trader/pull/2369

제가 보낸 건 해당 풀 리퀘스트입니다.

기존에는 매 페어에 대한 캔들 데이터 구독마다 새 웹 소켓 연결을 열어서 구독하는 방식으로 구현이 되어있었습니다.

따라서 몇백 개의 페어의 캔들 데이터를 구독하면 연결이 몇백 개 생성되는 셈이었고, 연결이 끊기는 문제가 있었습니다.

다행히도 바이낸스는 연결마다 종목 200개를 구독할 수 있게 해줬고 따라서 한 연결마다 종목 200개를 구독하고 200개를 초과할 시 새 연결을 수립하는 식으로 수정했습니다.

그 결과 이제 몇백 개의 페어를 구독해도 연결이 끊기지 않고 잘 버티네요.

비슷하게 지난 캔들 데이터를 가져오는 self.request_bars 메소드에서도 레이트 리밋 문제가 있었는데 이건 지난 관련 있는 이슈들을 읽어보고 생각해 봤는데 뭔가 애매해서 병합도 안 해줄 거 같고 그래서 풀 리퀘스트는 넣지 않고 그냥 제 레포에만 담아 두었습니다.