이로운 사기 실시간으로 보는 방법 (티비엔 온에어)
POWERED BY TISTORY 1. 위 화면은 다음증권 홈페이지에 접속했을 때 맨 처음 만나는 메인화면입니다. 주식 투자를 하거나 경제에 관심이 있는 분이라면 오늘의 국내 지수는 물론이고, 여러 나라의 지수를 하루에 한 번 정도는 확인하게 되는데요. 그래프를 통해 개인, 기관, 외국인 매매 현황과 함께 코스피와 코스닥 지수의 흐름을 확인할 수 있습니다. 저는 여기서 지수 현황을 잠깐 살펴본 후 우측에 있는 전 종목 시세 보기 메뉴를 클릭합니다.
2. 다음증권의 전종목 시세 서비스는 과거 증권거래소에서 볼 수 있던 전광판과 비슷한 역할을 하는데요. 같은 업종끼리 묶어서 모든 코스피 및 코스닥 주식 종목에 대한 시세를 한눈에 볼 수 있게 해놓았습니다.
Contents
사용자별 자산 정보를 갱신하는 과정
초기 연결과정은 기존과 동일합니다. WebSocket 접속을 위한 핸드 셰이크 과정에서 이용자 ID를 획득하게 됩니다. 웹소켓 서버가 라우팅 서버에 커넥션 정보를 전달하면 이용자 ID를 기준으로 사용자별 접속 서버 정보를 Redis에 관리합니다. 원장에서 매매체결 혹은 입출고 등으로 자산 정보의 변경이 발생하면 라우팅 서버에 해당 이벤트를 전달합니다. 라우팅 서버는 사용자별 접속 정보를 기준으로 현실 사용자가 연결된 웹소켓 서버에 해당 정보를 포워딩하게 됩니다.
웹소켓 서버는 해당 사용자에게 자산 정보 갱신을 지시하게 되고, 사용자는 자산 API 조회를 통해 갱신된 자산 정보를 조회할 수 있습니다.
Kafka Latency 최적화
C 기반의 원장 시스템으로부터 시세를 받아오기 위해 Kafka를 적용하면서 지연속도 최적화가 필요했습니다. 지연속도 개선을 위해 설정값으로 튜닝할 수 있는 요소는 compression type과 acks 2가지가 있습니다. acks부터 살펴보겠습니다. all은 leader와 replica에 모두 저장되면 응답합니다. 1은 leader에만 저장되면 응답합니다. 0은 leader에 저장됨도 확인하지 않고 응답합니다.
이는 안정되는 데이터의 저장 여부 vs 속도로 볼 수 있습니다. 0은 속도가 아주 빠르지만 현실 서비스에는 무리한 설정이라는 판단하게 1로 설정하였습니다.
실시간 시세?
해즈브로의 현재가가 표시됩니다. 그런데, 세밀히 보니 15분 지연이라고 표시되어 있네요. 15분 지연? 잠시 공부 미국주식에 투자할 때 알아둬야 할 것이 미국 주식시장의 개장 시간과 폐장 시간입니다. 미국 주식시장은 한국과의 시차로 거래시간이 다른데, 뉴욕시간 오전 9시 30분부터 오후 4시까지입니다. 한국시간으로는 밤 11시 30분부터 다음날 아침 6시까지입니다. 서머타임 기간에는 1시간씩 앞당겨집니다. 3월 둘째 주 일요일부터 11월 첫째 주 일요일까지는 한국시간 밤 10시 30분부터 다음날 새벽 5시까지입니다.
미국 시간에 맞춰서 실시간 거래하는 방법이 있고, 한국 낮 시간에 예약매수하는 방법도 있습니다. 단, 예약 매수를 할 경우, 주식 매수가격을 예상해서 써야 하기 때문에 체결되지 않는 경우도 있습니다.
웹홈페이지 시세를 활용하는 방법
또 다른 방법으로는 인베스팅닷컴 사이트나 구글 금융업 사이트를 통해 확인할 수 있습니다. 인베스팅닷컴이라고 검색하면 한국어 버전이 뜹니다. 클릭합니다. 상단에 있는 입력란에 해즈브로를 입력하고 검색 아이콘을 클릭합니다. 나스닥의 해즈브로 종목을 클릭합니다. 그래도 약간 시간차가 나는 것 같습니다. 이번엔 웹브라우저에서 구글 파이낸스를 검색했습니다. 검색된 구글 금융업 사이트를 클릭합니다.
상단 탭 중에서 내 주식 정보 탭을 클릭합니다. 최근 검색 항목에서 해즈브로Hasbro를 클릭합니다. 현지 시간으로 표시가 되며 실시간입니다. 이 주가를 보고 매수가를 써내면 될 것 같습니다.
Polling과 WebSocket
처음부터 실시간을 도입할 예정은 없었고 API Polling 계획을 채택하였습니다. 이유는 토스증권의 타깃은 주식 초심자들을 주요 타깃으로 보고 이들은 시세 정보의 실시간에 크게 민감하지 않을 것이라는 가설이 존재했습니다. 하지만 론칭을 앞두고 사용자에게 가능한 실시간 시세를 제공해야 한다는 의견에 팀원들이 공감하였으며 WebSocket을 채택하게 됩니다. 이외에 Server Side Event도 고려되었지만 이후 양방향 통신 기능 확장성을 위하여 WebSocket을 채택하였습니다.
다만 SSE가 방화벽 관련 이슈가 덜 발생하기 때문에 단방향 통신인 시세 체계는 SSE도 충분히 고려해볼 만할 것 같습니다.
OTT 플랫폼
요새 집에 있는 시간이 많아지면서 OTT 플랫폼에 대한 수요가 크게 늘어나고 있습니다. 전세계적으로 보고된 OTT 플랫폼인 디즈니플러스와 넷플릭스는 아주 인기가 있습니다.
자주 묻는 질문
사용자별 자산 정보를 갱신하는
초기 연결과정은 기존과 동일합니다. 좀 더 구체적인 사항은 본문을 참고하시기 바랍니다.
Kafka Latency
C 기반의 원장 시스템으로부터 시세를 받아오기 위해 Kafka를 적용하면서 지연속도 최적화가 필요했습니다. 좀 더 구체적인 사항은 본문을 참고해 주세요.
실시간 시세?
해즈브로의 현재가가 표시됩니다. 좀 더 구체적인 사항은 본문을 참고하시기 바랍니다.