구현 안내서 시작하기

3단계  |  25분

이번 자습서에서는 Amazon MQ 메시지 브로커를 설정하고 코드를 다시 작성하지 않은 상태에서 Java 애플리케이션을 연결하는 방법에 대해 알아봅니다.

Amazon MQ는 클라우드에서 메시지 브로커를 쉽게 설정하고 운영할 수 있는 Apache ActiveMQ용 관리형 메시지 브로커 서비스입니다. 메시지 브로커를 사용하면 서로 다른 소프트웨어 시스템이, 대개 서로 다른 플랫폼에서 서로 다른 프로그래밍 언어를 사용하여, 통신하고 정보를 교환할 수 있습니다. ActiveMQ는 Apache Software Foundation에서 제공하는 오픈 소스 프로젝트로, 유연하고 인기 있는 강력한 엔터프라이즈급 메시지 브로커입니다.

Amazon MQ는 JMS, NMS, AMQP, STOMP, MQTT 및 WebSocket 등을 비롯한 업계 표준 메시징 API와 프로토콜을 사용하므로 기존 애플리케이션을 쉽게 연결할 수 있습니다. Amazon MQ는 이러한 표준을 사용하므로 브로커를 AWS로 마이그레이션할 때 메시징 코드를 재작성할 필요가 없습니다.

Amazon MQ를 사용하는 데 따른 이점이 몇 가지 있습니다.

  • 브로커 유지 관리 작업 감소: 애플리케이션이 확장됨에 따라 브로커를 프로비저닝하고 관리하는 데 소요되는 시간이 늘어납니다. Amazon MQ와 같은 관리형 메시지 브로커를 사용하면 운영 오버헤드를 해소할 수 있습니다.
  • 지연 시간 단축: Amazon MQ는 10밀리초 미만의 메시지 지연 시간을 제공합니다. 이는 브로커와 애플리케이션 간의 상시 연결을 통해 지연 시간을 단축하는 연결 지향 프로토콜 덕분입니다.
  • 높은 가용성과 내구성: Amazon MQ는 언제나 여러 가용 영역(AZ)에 걸쳐 메시지를 중복으로 저장합니다. 활성-대기 브로커의 경우, 활성 브로커에서 장애가 발생하면 자동으로 대기 인스턴스로 장애 조치하므로 메시지를 계속해서 발송하고 수신할 수 있습니다.
  • 클라우드 마이그레이션 가속화: Amazon MQ를 사용하면 메시징 서비스의 마이그레이션에 대해 신경 쓸 필요가 없으므로 업계 표준 API와 프로토콜을 통해 기존 애플리케이션을 클라우드로 손쉽게 마이그레이션할 수 있습니다. 

이 자습서에서는 Amazon MQ 메시지 브로커를 생성하고, Java Message Service(JMS)를 사용하여 Java 애플리케이션에서 브로커로의 연결을 생성할 수 있습니다. 여기서는 상용 브로커에 가장 널리 이용되는 Java를 사용하지만 실제 사례에서는 다른 언어를 사용해도 됩니다. 브로커를 생성한 후에는 대기열을 생성한 후 메시지를 전송합니다.

Create a connected message broked diagram

AWS 경험: 초보자

소요 시간: 25분, Amazon MQ가 브로커를 구동하는 시간 15분 포함

소요 비용: t2.micro 브로커를 사용할 경우 이 아키텍처에 사용되는 각 서비스는 AWS 프리 티어 대상입니다. 프리 티어 사용 한도를 넘어선 경우 또는 성능이 더 높은 m5.large 브로커를 사용해보려는 경우, 이 자습서를 완료하는 데 0.60 USD*가 필요합니다.
 
사용된 기술:
  • 활성 AWS 계정**
  • Amazon MQ
  • Apache ActiveMQ

*자습서를 진행하는 동안 권장 구성에 따르고 모든 리소스를 24시간 안에 종료한다고 가정한 경우의 추정치입니다.

**생성된 지 24시간이 지나지 않은 계정은 이 학습 경로를 완료하는 데 필요한 리소스에 액세스할 권한이 아직 없을 수 있습니다.