less than 1 minute read

친구가 주식이나 코인같은 대량의 트랙잭션이 발생하는 시스템에서는 어떤 기술을 사용하는지 궁금해 했다.

나는 실제 주식/코인 시스템이 어떻게 구성되는지는 몰랐지만, 대용량의 메세지를 처리하는 시스템에 대해서는 하나 알고있다.

내가 실제로 진행했던 프로젝트 중에 각 사용자의 셋탑에 쿠폰이나 공지, 광고등의 PUSH를 내려주는 시스템이 생각났다.

이 프로젝트에서 사용한 기술이 MQTT 프로토콜이었다.

한번에 백만명이 넘는 가입자가 중앙서버에 있는 쿠폰데이터를 받아오기에는 문제가 있어서, publisher, subscriber를 개발하고, 중간에 broker를 두어 클라이언트는 broker를 통해 중계해주는 시스템구축에 참여했다.

셋탑(user)는 broker에게 본인이 참여할 주제(topic)를 등록한다.

publisher와 subscriber도 동일하게 본인이 참여할 주제(topic)를 등록한다.

이후에 쿠폰/이벤트 발행 시스템에서 새로운 발행이 있게되면, publisher는 본인이 참여한 주제(topic)중에 보내야되는 셋탑(topic)에 해당 데이터를 보내게 된다.

그 후 셋탑(user)는 본인이 참여한 주제에 해당 발행에대한 수신상태를 보내게 되는 구조이다.

수신상태는 subscriber가 받게되고, 이후에 DB처리 등을 하게된다.

이런 내용을 친구에게 알려주게 되었다.

오랜만에 얘기했던 mqtt개념이라 다시 환기도 되고 좋았다.

Categories:

Updated: