High Performance Messaging 글을 시작하며..

고성능 메시징 (High Performance Messaging)에 대한 니즈가 갈수록 심해지고 있다. Big Data, IoT, Industry 4.0, Cloud to Cloud 등 다수의 개체간에 빠른 통신을 해야하는 상황이 더욱 많아지고, 기업은 메시징 성능에 대해 매우 많은 고민을 하게 될 것이다.

한정된 자원 안에서

  • 매우 많은 개체가 통신할 수 있어야 한다
  • 많은 양의 메시지를 한정된 시간 내에 전달할 수 있어야 한다
  • 매우 빠른 속도로 메시지가 전달되어야 한다
이런 3가지 주요 고민은 "실시간" 이라는 수식어가 붙는 시스템과 서비스에서는 매우 중요한 요소가 될 것이다.

1999년 부터 IT 바닥에 몸담고 일하면서 이 통신분야 만큼 눈부신 발전을 거듭하는 분야를 보지 못했다. 물론 하드웨어와 인프라적인 부분들의 주된 발전이다. 그런데 지금 우리는 어떠한가? 아직도 TCP 기반 위에서, 텍스트 전달하라고 만들어놓은 HTTP 응용 프로토콜로 중요한 시스템들과 심지어 Computing Power 가 작은 Embedded Device 까지 통신하고 있다.

오죽하면 C10K 문제가 IT 기술 분야에서 중요한 화두가 되기도 하고, 시스템 자원 효율성 재고를 위해 Node.js, Vert.X 와 같은 비동기 프로그래밍 방식이 중요하다고 이야기 할까?

이제는 "실시간"성이 중요한 시대이다. 빅데이터도 MR(Map Reduce) 코드를 컴파일해서 수십분~수시간 배치로 돌려 결과를 가져오는것 보다는 빅데이터에 기반을 두고 실시간적인 Insight 를 발견할 수 있도록 의사결정에 즉각적인 도움을 주는 기술이 더 중요하다고들 이야기한다.



앞으로 뭘 할건지..

메시징의 "성능(Performance)" 은 속도(Latency) 뿐만 아니라 처리량(Throughput) 의 개념과 통신 아키텍쳐(1:1, 1:N, N:N)에서의 최적성이 함께 고려되어야 할 것이다.

주로 

  • 메시지 미들웨어 (ActiveMQ, RabbitMQ, ZeroMQ, DDS 등)
  • 고성능 네트워킹 기술 (Infiniband(RDMA), RoCE, iWARP)
  • 고효율 통신을 위한 M2M, MOM, DOM 프로토콜 (MQTT/S, CoAP, AMQP, RTPS 등)
등에 대하여 가급적이면 직접적인 실험을 첨가하여 세부적으로 글을 써나아가보고자 한다.

Block Chain, Ethereum, P2P Messaging, 비동기 프로그래밍 등에 관해서도 시간이 되는대로 글을 쓸 수 있다면 올려보도록 하겠다.

회사에서는 아예 블로그에 글을 올릴 수 없는 관계로 집에 와서 써야하는 현실이 좀 힘겨울 듯 하긴 하지만 열정으로~~ 열정으로~



반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,