develop custom_top_html:no
default debug random = 3 / type = READ / detected = READ

맥스 나우..

요즘 참으로 핫한 거래소죠..

자신들은 php 도 안쓰고, NoSQL , Oracle 조차 안썼다고 자랑하는..

오로지 C++라고 자랑하길래..

한번 뜯어 보았습니다 (...)


뭐 뜯는다고 해킹까진 아니고 헤더를 좀 보았을뿐입니다.

Server 는 평범한 NginX 에 전송은 gzip으로 합니다.


자신들의 말고 헤더만으로 간단히 추측이 가능하네요.

( 저랑 다른 의견 가지신 분들은 댓글 주세요 )


맥스나우의 구조는 프론트에 NginX로 되어있는 시스템뒤에서 php 나 jsp와 같은 웹 언어 대신 단지 C++로 모듈을 개발한것으로 보입니다.

당연히 C++로 했으면 데이터 처리는 DB보다는 C++상에서 메모리에 저장하는게 개발이 편하겠지요..

(빠르기도 하구요)


그냥 현재로써는 제 추측은 여기까지입니다.

NginX를 이용하였고, 백단에는 C++로 된 모듈을 이용하고, 그 뒤에는 거래의 일부만 어딘가에 저장하는..

기본적으로 오픈소스가 아닌 모듈을 사용하니 해킹이 상대적으로 어려울 수도 있겠지만, 반대로는.. 예상치 못한 버그 & 메모리 릭이 존재할 수 도..


뭐 그냥 그렇다는겁니다.

워낙 맥스 나우가 다른 거래소들과 비교하길래..

저도 분석좀 해봤습니다.

사실 저도 거래소를 만들면 Node.js 를 활용 할 생각을 했습니다.

Socket.io 를 활용하구요.

어차피 기본적으로 하나의 언어로 통일 할 필요는 없어 보이고, 프론트 단은 PHP로 처리하고 , 백단의 거래 트랜젝션 부분들만 Node.js로 활용 하면 된다고 생각하는데....


다른 개발자 분들의 고견이 듣고 싶습니다 ^^;

3

calmlake79님의 서명

CCnex

당신의 인생과 인류의 미래를 바꿀

그 놀라운 경험


댓글 13
  • ?
    맥스나우 저도 좀 뜯어 봤는데요..
    제가 예측하기로는 웹 페이지 자체는 파이썬을 썼을 가능성이 높습니다. 파이썬이라는 언어가 C++로 만든 모듈을 쓰기가 편하거든요.
    그리고 시스템 백단은 예상대로 C++로 로직을 제작했을 거에요. 그리고 그걸 파이썬 모듈로 활용했을 거 같네요.
  • @묵향9
    헤더에 NginX라고 되있는건 게이트웨이일뿐일수도 있겠네요
  • ?
    @calmlake79
    예.. 게이트웨이 맞습니다.. 요즘 nginx를 그 용도로 많이 쓰죠.. 안정성이 짱이거든요.
    그리고 뒷단에 fastcgi 형태로 구성되어 있을거에요. (파이썬,PHP,Ruby,Node.js 등등이 지원)
    요즘 대형 사이트는 거의 다 이렇게 구성되어 있습니다.. 시스템 아키텍쳐상으로 구성하기도 용이하고 성능도 꽤 잘 나옵니다.
  • @묵향9
    전 주로 Node.js 를 선호해서요 ㅎㅎ;
    페이지 구성 자체는 Apache + PHP 로 개발하고,
    백단의 데이터 혹은 Ajax 처리는 Node.js 로 처리하면 개발도 편리하고, 성능도 만족스럽구요 ㅎㅎ;
  • ?
    @calmlake79
    Apache 대신 Nginx 를 써보시길.. ^^
    제가 테스트 해본 결과로는 대략 30-50% 퍼포먼스 업그레이드 가능합니다. (물론 상황에 따른 설정도 필요)
  • @묵향9
    제 판단으로는..
    NginX 가 정적인 파일( ex: css,gif 등등..)에서는 그 이상의 성능향상도 있다고 알고 있지만.
    우선은 아직 저런 규모 있는 서비스를 하지 않아서 그냥 편리하게 아파치 쓰고 있어요 ㅎㅎ;
    거래소가 터질만큼 사람들이 몰리거나, coinhighway가 그렇게 몰린다면..
    바로 넘어갈지도요. ( 그전에 HAProxy 써보고 싶습니다 ㅋㅋ )
  • 아직 뜯어보진 못했습니다만...
    주식거래소가 결국은 가장 완성된 형식이 아닐까요?
    나스닥, 코스피, ... 등의 거래소에선 안정성 및 빠른 속도를 위해서
    java 계열의 프로그램 대신 c/c++ 계열의 프로그램으로
    운영되고 있는것으로 알고 있습니다.
  • @duckking
    네.. 그게맞죠.
    다만 아직 전세계적으로 암호화폐의 시장이 그정도 규모가 안되기에..
    대부분은 PHP로 버티는거고 이제 하나둘 나오기는 하는데..
    제가 JAVA를 별로 좋아하진 않지만, 기존 금융권에서도 많은 회사들이 JAVA로 돌아가긴 합니다.

    제가 거래소를 만든다면 ( 꿈은 꿉니다.)
    아마, 기존 금융시스템에 있던 많은 시스템들을 도입할꺼 같습니다 ^^;
  • ?
    node.js나 python으로 웹페이지를 개발하더라도 앞에 게이트웨이로 nginx 많이 씁니다. php를쓰기위해서 nginx를 쓰는게 아니죠..
  • ?
    웹페이지를 php, python, node.js등등 어떤걸 쓰냐가 문제가 아니라 거래를 처리해주는 엔진을 C++ 로 직접 짰다는게 핵심이죠. mysql 같은 데이터베이스를 쓰게되면 거래소를 구현하기에 너무 많은 기능이 있지 않습니까? 필요한 부분을 C++로 직접짜서 구현하고 웹페이지는 다른 스크립트언어를 기반으로 개발했을거 같습니다.
  • 제가 잘 몰라서 그러는데 DB를 안쓰고 메모리많은로 저렇게 방대한 데이터를 저장할수가 있는건가요?
    그럼 프로세스를 재 시작하면 DB정보들은 어떻게 되는건가요?전 이부분이 궁금하네요..제가 메모리DB는 사용을 해밨는데...
    그리고 Back단은 c++로 하던 java로 하던 그외의 언어로 하던 큰 차이는 없다고 생각되네요..(나중에 선물옵션과 가튼 정말 0.0001초 차이의 거래를 위한 API를 제공하거나 그런 경우가 아니라면요..
  • ?
    @fourseam
    방대한 데이터가 몇기가의 데이터를 말하는지 잘 모르겠습니다만 수십기가의 메모리를 가지는 서버도 흔합니다. 저정도 거래 데이터면 몇기가 안될거 같은데요. 자주 참조되지 않는 로그등은 파일로 남길거고 자주 액세스되는 데이터만 메모리에 저장할것입니다.
    메모리디비의 프로세스 재시작하는 경우는 어떻게 처리하냐면 redis 라는 key-value store의 경우에는 데이터를 입력하면 우선적으로 메모리에 저장을 하고 파일 시스템에 로그를 남깁니다. 그리고 주기적으로 전체 데이터를 파일로 백업하고 그 이후를 다시 로그로 남깁니다. 도중에 프로세스가 종료되고 다시 실행되면 전체 데이터가 남겨진 파일을 우선 읽고 남겨진 로그를 기반으로 순차적으로 데이터를 복구해나갑니다. 그래도 100% 데이터가 안전한건 아니구요. 더 안전하게 하려면 똑같은 데이터를 2중 3중으로 나눠서 미러링하면 됩니다. 더 안전하게 할수록 접근 속도는 떨어지고 더 빠르게 할수록 안전성은 떨어집니다. 적정선에서 타협봐야죠.
  • @카디
    답변 감사합니다~~
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
200 개발 리플의 기본개념(개인적인 추정입니다.) *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** ---------------------------------------... 1 2 2851
쌍둥아빠
2017.06.01
199 개발 그래픽 해쉬올리는 방법 !!어떤걸 올려야하고 신경써야하나요 ??> 그래픽 해쉬올리는 방법 !!어떤걸 올려야하고 신경써야하나요 ??>   해쉬좀올리려고하는데 어떤걸 먼저  건드려야 그래픽카드가 반응이 잘오고 안정적인걸까요 ???   어느정도까지는 가능한데 그... 1 0 1514
매물확보남
2017.05.31
198 개발 . . 10 0 4567
코인개발자
2017.05.29
197 개발 전세계와 상대하여 꿈을 펼칠 개발자를 모집합니다. 블록체인OS에서 블록체인 개발 유경험자를 모집합니다.   저희는 국내 유일의 퍼블릭 블록체인 개발하는 회사로 얼마전 전세계를   대상으로 펀드레이저를 진행했습니다. 최종 77개국에서 참여를... 0 2612
블록체인오에스
2017.05.29
196 개발 뭔가요? 왜 개발자 모집글이 사라진거지요? 뭔가요? 왜 개발자 모집글이 사라진거지요?   저희가 무슨 결격사유라도 있었던게 있나요?   정말 이해가 안되네요.   무슨 근거로 게시글이 사라진 이유를 명확하게 밝혀주시기 바랍니다.   어... 12 0 2830
블록체인오에스
2017.05.29
195 개발 가상화폐 실력있는 개발자 모십니다. 다단계 이런 회사에서 쓸 코인이 아니라 정식으로 제대로 만들고 싶습니다. 이더리움 보다 뛰어난 코인... 한국의 자존심을 보여 줄 수 있는 코인을 만들고 싶습니다.   실력있는 분의 지원을 부... 2 1 3213
마자막현자
2017.05.29
194 개발 프로그래밍 문외한 프로그래밍 공부하려합니다. 안녕하세요. 프로그래밍에 관심은 많았지만 문외한인 사람입니다.   현재 이더리움? 코인관련 개발을 해보고싶습니다.   1. 응용 프로그램 개발   2. 모바일 개발   3. 웹 개발   4. 가상화폐 개... 11 0 2404
이세돌
2017.05.27
193 개발 . . 2 0 6172
코인개발자
2017.05.24
192 개발 비트코인 walletnotify 에 관해 질문 드립니다. 기존에 설치했던 서버들은 walletnotify 가 정상적으로 2번 호출됩니다. 거래가 시작된 시점 즉 0 승인상태에서 txid 가 날라오고 실질적으로 1 승인이 날때 한번더 txid 가 날라와서 총 2번의 t... 2 0 1106
루시
2017.05.23
191 개발 코인관련 개발경험 있으신 개발자분을 찾습니다. 코인관련 거래소 개발 프로젝트를 진행중인데요    다음과 같은 능력을 보유하신 개발자를 채용합니다.     암호화폐 거래소 개발 경험자 암호화폐 DAPP 개발 경험자 알트코인 구축 가능자 .Net ... 0 2807
reviathan1
2017.05.22
190 개발 빗썸 api개발문서는 어디에 있나요? 아무리 찾아봐도 api관리 페이지는 있는데,.. 문서는 안보이네요... 7 0 15716
꿀맨
2017.05.19
189 개발 pos 관련 질문입니다.~ pow일 경우에 채굴 난이도가 높아졌을경우 개인컴퓨터로 채굴할 경우 영원히 채굴을 못하는 경우가 생기기 때문에 마이닝풀을 이용하는데요. pos일경우에도 연수익 20%라 가정한다면 전체 코인 ... 0 1383
티맵맵
2017.05.18
188 개발 비트코인 거래소를 개발해보신 분 계신가요?   회사에서 거래소를 개발하자고 하는데, 개발자이긴 한데 제가 정말 잘 모릅니다. 일단 비트코인은 테스트 삼아 거래해보고, 관련 오픈소스도 찾아 보긴했습니다.   개인적인 비용을 지불하고라... 6 0 3362
온파트너
2017.05.18
187 개발 거래소 API 관련 질문입니다. 코인원 거래소 API 문서를 보고 있는데요. 코인전송시 매 전송시마다 OTP번호는 설마 수동으로 입력 해줘야하는 건가요? 프로그램 구동시 최초 한번만 입력하는거죠??? 설마....   다른거래소 AP... 7 0 4097
꿀맨
2017.05.18
186 개발 비트코인 자동 매매 프로그램을 개발하려 하는데 과거 데이터 구하는법 자동 매매 프로그램 개발시 현재 시세를 구하는  API는 있는데  지나간 과거 데이터 구하는 방법을 모르겠습니다.   아시는분 있으신가요? 7 0 7319
둔산
2017.05.16
185 개발 블록체인 소스 변경시 질문 예를들어 신규코인 만들었습니다. 블록생성당 보상이 50코인입니다. 현재 두개의 노드만 채굴하고 있다고 가정했을때 한노드의 소스를 변경해서 채굴보상을 100코인으로 바꾸고 채굴을 했을경우 ... 2 0 1686
티맵맵
2017.05.12
184 개발 coinone.co.kr 에서 제공하는 api를 이용해 거래를 하기 위한 php class를 공유하고자 합니다.   기초 뼈대는 폴로닉스에서 제공하는 php용 api를 이용해서 coinone 사이트에서 이용 가능하도록 수정했습니다. 출처 https://pastebin.com/iuezwGRZ coinone에서 access_token , api_secret 을... 1 4 7537
천재성곤
2017.05.11
183 개발 폴로닉스 api 할려고 합니다.. 안녕 하세요...   요즘 코인에 푹~ 빠졌서 살고있는 사나이 입니다.. 그래서 인지 주식이 재미가 없네요..ㅋㅋ   저는 폴로리스 api을 배울려고 합니다.. 그런데 큰 문재가 있네요.   어렵습니다... 3 0 8820
튼튼이
2017.05.10
182 개발 [거래소간 차익거래 시스템] 구현에 대한 조언 부탁드립니다. 저에게 오더가 내려왔습니다.   거래소간 차익거래 시스템을 구현해야 되는 상황이네요..ㅠㅠㅠ (개인적으로는 별 관심 없는 분야인데,... 일이니 해야겠죠...)   이미 구현해서 운영하시는 분들... 0 2692
꿀맨
2017.05.10
181 개발 만약 비트코인 서비스를 만든다면 뭘 만들고 싶으세요? 안녕하세요~ 투표날이네요. 사전 투표를 미리 해서 오늘도 출근해서 열심히 게임 만들고 있는 개발자입니다...   땡글에서 가끔씩 눈팅중인데 이번에 한번 글을 또 적어보네요^^   비트코인에 항... 2 0 2025
초밥매니아
2017.05.09
Board Pagination Prev 1 ... 78 79 80 81 82 83 84 85 86 87 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ