소개
Apache Artemis는 Apache Software Foundation에서 개발한 오픈소스 멀티프로토콜 메시지 브로커입니다. AMQP 1.0, MQTT 3.1.1, MQTT 5, STOMP 등 다양한 산업 표준 프로토콜을 지원하여 Java, JavaScript, C, C++, Python, .NET 등 다양한 언어로 작성된 클라이언트에서 연결할 수 있습니다. 고성능 메시징을 통해 마이크로서비스 아키텍처의 확장성과 낮은 지연 시간을 달성할 수 있도록 설계되었습니다. Apache 라이선스 2.0 하에 배포되며, ZIP 형식으로 제공됩니다.
상세정보
멀티프로토콜 지원
AMQP 1.0, MQTT 3.1.1, MQTT 5, STOMP 프로토콜을 네이티브로 지원하여 다양한 언어와 플랫폼의 클라이언트가 브로커에 연결할 수 있습니다.
고성능 저널 구현
메시지 지속성을 위한 여러 저널 구현 옵션을 제공합니다. Linux에서는 AIO(Asynchronous I/O)를 통해 최고 성능과 신뢰성을 제공하며, 메모리 매핑 옵션은 약간의 신뢰성 감소와引换으로 더 높은 성능을 제공합니다. Java NIO 및 JDBC 기반 저널도 사용 가능하여 다양한 운영 환경과 요구사항에 유연하게 대응할 수 있습니다.
마이크로서비스 지원
초당 수백만 건의 메시지 처리 잠재력을 통해 높은 처리량이 필요한 마이크로서비스 아키텍처에 적합합니다. 이벤트 기반 비동기 메시징 패턴을 지원하여 HTTP 블로킹 요청-응답 패턴보다 더 나은 확장성과 낮은 전체 지연 시간을 제공합니다.
도커 통합
Apache Artemis는 도커 이미지 생성을 위한 간단한 스크립트를 제공하여 개발, 테스트, 생산 환경 등 cualquier 환경에서 배포를 단순화합니다.
다운로드·설치 방법
공식 웹사이트에서 ZIP 형식의 배포 파일을 다운로드할 수 있습니다. 다운로드 후 압축을 해제하고, 적절한 디렉터리에 배치합니다. 실행 전 Java 17 이상이 설치되어 있는지 확인해야 합니다. Scoop 패키지 관리자를 사용하는 경우 scoop install activemq-artemis 명령으로 설치할 수 있습니다.
기본 사용법/명령어
브로커를 시작하려면 압축 해제된 디렉터리의 bin 폴더에서 artemis run 명령을 실행합니다. 관리 콘솔은 기본적으로 http://localhost:8161에서 접근할 수 있으며, 기본 로그인 정보는 admin / admin입니다. JMX 기반 관리 작업을 수행하려면 curl 명령을 사용할 수 있습니다. 예를 들어, 특정 프로토콜의 연결 목록을 조회하려면 다음과 같은 명령을 사용할 수 있습니다:
curl -s -H "Origin: -u myUser:myPass --header "Content-type: application/json" --request POST --data '{"operation": "listConnections", "mbean": "org.apache.activemq.artemis:broker="0.0.0.0"", "type": "exec", "arguments": [ "{"field":"protocol","operation":"EQUALS","value":"OPENWIRE"}", -1, -1 ] }' | jq '.value | fromjson'
이 명령은 OPENWIRE 프로토콜을 사용하는 연결 목록을 반환합니다.
이런 경우에 유용합니다
마이크로서비스 간 비동기 통신이 필요한 시스템에서 Apache Artemis는 높은 확장성과 낮은 지연 시간을 제공합니다. 예를 들어, 주문 처리 시스템에서 주문 생성, 결제 처리, 알림 발송 등을 별도의 서비스로 분리하여 메시지 브로커를 통해 통신할 경우, 트래픽 폭주 상황에서도 안정적인 메시지 전달을 보장할 수 있습니다. 또한, IoT 디바이스에서 센서 데이터를 수집하여 백엔드 시스템으로 전송할 때 MQTT 프로토콜 지원을 통해 효율적인 데이터 수집 파이프라인을 구축할 수 있습니다.
최신 버전·업데이트
현재 최신 버전은 2.56.0이며, 2026년 8월 27일에リリース되었습니다. 이 버전에서는 락 코디네이터 자동 시작 및 관리 작업 개선, AMQP 프로톤-J 0.35.0 통합 (maxTransfersPerDelivery 설정 가능), 저널 락 모니터 구성 가능성 추가, MQTT QoS 복원력 향상, 다양한 버그 수정 및 의존성 업데이트가 포함되었습니다.
제한 사항·확인 사항
Apache Artemis를 실행하려면 Java 17 이상이 필수적으로 설치되어 있어야 합니다. 낮은 버전의 Java에서는 정상적으로 실행되지 않을 수 있습니다. 또한, AIO 저널 기능을 활용하기 위해서는 Linux 환경에서 네이티브 AIO 라이브러리가 필요하며, Windows 또는 macOS에서는 이 기능을 사용할 수 없습니다. 프로덕션 환경에서 배포 전에는 반드시 다운로드된 파일의 무결성을 SHA512 체크섬과 ASC 서명으로 검증해야 합니다.
시스템 요구사항
Java 17 이상이 필요합니다.


