NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    기타 [비동기 메세지 처리] ZeroMQ, ActiveMQ, RabbitMQ, TIBCO RV, Highway101

    페이지 정보

    본문

    비동기 메시지 처리 서버(Daemon)를 위한 여러가지 미들웨어가 존재하고 있습니다. 이중에서 제가 경험해본 것들은 TIBCO RV(Rendezvous), ActiveMQ, ZeroMQ, Highway101정도 인데요. 여기에서 TIBCO와 Highway101은 상용이며 나머지는 무료 오픈 소스입니다. 이들은 미들웨어 또는 통신 라이브러리입니다.

     

    무료 오픈 소스중에 성능이 가장 좋은(어디까지나 ZeroMQ를 만든 분이 한 말입니다.) ZeroMQ for .NET를 설치하려면 아래 링크에서 설치 방법을 확인할 수 있습니다.

    ZeroMQ Download: http://zeromq.org/bindings:clr

    ZeroMQ NuGet: http://www.nuget.org/packages/ZeroMQ/

     

    용도는 양산 장비 메이커에서 올라오는 SECS 메시지를 특정 채널을 통해 필요한 정보를 받아서 처리할 때 사용합니다. 하지만 예외적으로 이기종 또는 다른 시스템간에 어떤 데이타를 주고 받기 위한 인터페이스로도 활용할 수 있습니다. 이럴 경우 오버헤드가 있을수는 있지만 쉽게 통신할 수 있다는 장점도 있습니다. (이런 메시지를 통해 FDC, SPC, APC(R2R), RMS등등... 수율을 높이기 위한 활동에 사용됩니다.)

    CvIMwso.png

     

     

    비용면으로 보면 TIBCO는 넘사벽이구요. 그래도 대기업에서는 성능 및 안정성으로 인해 TIBCO를 사용하고 있습니다. S전기와 같이 가격 문제로 ActiveMQ를 사용하기도 하구요. 약간 절충이긴 하지만, S그룹의 계열사 중에는 자회사 제품인 미라콤의 Highway101을 도입하기도 하였습니다.

     

    어떤 미들웨어를 사용하는게 좋을지 판단하는게 참 애매한 부분이 있지만, 외주 개발만 하는 개발자가 얘기해봐야 별 도움이 되지는 않습니다^^; 어차피 을(대기업의 시스템을 전담하는 회사들)에서 결정할 문제이지요. 저처럼 정(을의 하청 업체의 프리랜서)의 위치에서 개발 생산성 및 효율에 대해 얘기하면 귀찮아집니다. 고스란히 업무가 넘어오는 구조에서는 말이죠. 요즘은 담당자들도 합리적인 사고를 하는 분들이 많아져서 예전처럼 멘땅에 헤딩 하듯이 개발하지는 않고 있습니다.

     

    가끔 프리랜서 요청건으로 전화가 오곤 하는데요. 요즘 일이 많이 없긴 한가봅니다. 불과 2년전 까지만 해도 단가가 650정도 였는데, 요즘은 400~500 예기 하더라구요. 오르지는 못할 망정 단가가 계속 깍이고 있습니다. 능력도 없으니 어디 회사에 들어갈수도 없고... 이제는 정말 치킨집을 차려야 할 때가 온게 아닌가 싶습니다ㅠㅠ;

    7DSdzKw.png

     

     

    RabbitMQ는 클라이언트로 메시지를 보내기 전에 중앙에서 큐를 관리하는 브로커구조를 가지며, 이런 접근법으로 인해 사용성과 배포성이 좋습니다. 라이팅, 로드밸런싱 혹은 지속적인 메시지 큐를 지원하도록 몇줄의 코딩으로 가능합니다. 하지만, 중앙 노드는 지연을 발생시키고 메시지 Envelopes가 매우 크므로 확장성이 떨어지고 느린 단점이 있습니다.

    wUExZxz.png

     

     

    ZeroMQ는 대용량 처리에 적합하며 로우레벨 처리를 지원하여 분산 환경에 유리합니다. 지연을 중점으로 디자인된 매우 가벼운 메시지 시스템으로, 다양한 Advanced message를 처리할 수 있는 시나리오를 지원합니다. 하지만 여러가지 프레임워크를 조합하여 구현해야 하며 이런 조합을 위해 배워야 할 내용이 방대하기 때문에 접근성이 떨어집니다.

    ZeroMQ for .NET으로 인해 편리하고 빠르게 도입할 수 있게 되었습니다.

    ABPFDZP.jpg

     

     

    ActiveMQ는 중간 정도에 위치하는 솔루션으로, ZeroMQ와 같이 브로커와 p2p가 함께 배포될 수 있습니다. 또한 RabbitMQ와 같이 고급 시나리오도 쉽게 구현할 수 있습니다. 하지만 ActiveMQ도 ZeroMQ와 마찬가지로 배워야 할 내용이 방대하고 많은 시행착오를 겪게 됩니다. 물론, 자주 사용하며 익숙한 개발자라면 이 부분은 문제가 되지 않겠지만 말이죠.

    6KASwc0.png

     

     

    이외에 TIBCO는 반도체, 디스플레이등등 제조 관련 프로젝트를 해보신 분들은 이미 능숙하게 사용할 수 있기 때문에 크게 문제가 되지 않을거 같습니다. 많은 시스템에 도입되어 운영중이라 프로젝트에 들어가면 참조할 수 있는 코드들이 많기 때문입니다. 그리고 구글링을 통해 다양한 예제들을 접할수 있기 때문에 개발하는데 문제될게 없습니다.

    ylg8lrq.jpg

     

     

    그리고 국내 업체로는 미라콤(삼성SDS 자회사)이 있습니다. 많이 알려지지 않아서 그런지 관련 자료를 찾기가 쉽지 않습니다. 간단하게 구글에 검색만 해봐도 미국의 컨트리 가수가 검색되는걸 보면 말입니다. 하지만 그리 문제가 되거나 하지는 않습니다. 국내 업체다보니 서비스가 좋은 편이거든요. 해외 밴더 업체의 경우 서비스 받기가 얼마나 어려운지 경험해보신 분들은 아실겁니다. (독일의 양산 장비 업체의 경우 VID하나 추가하는데 6개월이 소요된다는 답변을 받은적도 있습니다. 아마 국내 장비 업체라면 일주일도 안걸릴테지만요.)

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천1 비추천0

    댓글목록

    등록된 댓글이 없습니다.