해결책
2003년까지 한 은행은 서로 통신할 수 없는 수십 개의 메시징 시스템을 운영하고 있었고, 모든 미들웨어 벤더의 브로커는 사설 언어를 사용했다. JPMorgan Chase의 John O'Hara는 서로 다른 벤더의 메시징 소프트웨어가 와이어 수준에서 상호 운용될 수 있도록 AMQP를 시작했다.
초기 설계는 2004년에서 2006년 사이에 iMatix와 함께 이루어졌고, 이후 Cisco, Red Hat 등을 포함한 워킹 그룹에 공개되었다. AMQP는 브로커가 메시지를 교환할 수 없게 만드는 API 수준 표준과 달리 메시지 형식과 프로토콜 동작 자체를 정의한다.
개방형 구현인 Apache Qpid와 RabbitMQ가 뒤따랐고, 2011년 작업은 OASIS로 이전되어 2012년 10월 AMQP 1.0을 표준으로 승인했다. ISO/IEC는 2014년 4월에 뒤따랐다. 한 은행이 시작한 표준이 기업 메시징의 개방형 중추가 되었다.
달성한 것
어떤 벤더도 소유하지 않는 와이어 프로토콜로, 브로커들이 상호 운용된다
성공한 이유
와이어 수준 명세로 서로 다른 벤더의 브로커가 상호 운용되었다
은행이 표준을 주도함으로써 벤더 종속이 제거되었다
RabbitMQ 같은 개방형 구현이 업계 전반에 이를 확산시켰다
OASIS와 ISO의 지위 덕분에 기업들이 안심하고 도입할 수 있었다
프로토콜 때문에 벤더에 종속되어 있다면, 프로토콜을 직접 작성하여 무료로 공개하라 — 그 표준이 경쟁 시장이 된다.
그 후
AMQP 1.0은 RabbitMQ, Apache Qpid, Microsoft의 Azure Service Bus 및 기타 주요 브로커에 의해 구현되며, 핵심 기업 메시징 표준으로 남아 있다. MQTT는 이후 경량 IoT 영역을 차지했지만, AMQP는 기업 미들웨어 시장을 지켰다.
근거 확인하기
출처
- Advanced Message Queuing Protocol Wikipedia · en.wikipedia.org
- About AMQP AMQP · amqp.org