본문 바로가기
728x90

AmazonMQ4

[Spring] Amazon MQ (Active MQ) : Virtual Destinations 기능 Active MQ Queue 메시지 전달 방식에 대한 새로운 요구조건이 발생되어 조건을 충족시키기 위해 Active MQ의 Virtual Destinations 기능을 사용해서 해결한 내용을 기록하고자 한다. Message 방식을 Queue로 되어 있었고 Round Robin 방식으로 Consumer가 한 번씩 돌아가며 Message를 받아 처리하고 있는 구조였다. (Active MQ Consumer 운영 포스팅을 참고) Producer와 Consumer는 서버가 분리되어 있지만 같은 제품 서비스이기도 했고 Producer에서 보내는 Message는 같은 제품 서비스의 Consumer 서버만 수신받도록 되어 있었다. Message 수신에 대한 요구 조건 위의 이미지와 같이 A 제품 서비스의 Consume.. 2022. 11. 10.
[Spring] Amazon MQ (Active MQ) : Consumer 운영 ActiveMQ를 적용해 보니 서비스 메시지 성향에 따라 Consumer 운영이 달라져야 한다고 생각됐다. Message 간의 디펜던시 및 영향도가 있나 없나에 따른 운영 전략이 달라진다. Message A : 메시지간의 영향이 없는 메시지 예를 들어 신규로 등록해야 할 상품 정보가 담긴 메시지가 Producer로부터 발행이 되고 Consumer는 메시지를 받아서 DB에 insert만 하는 프로세스라면 메시지간의 영향도가 없으므로 어떤 서버든 Consumer가 받아서 언제 처리가 되든 영향이 없다. 이럴 때는 RoundRobin 방식으로 메시지를 소비하는 게 메시지 처리 퍼포먼스가 좋아진다. MQ RoundRobin 방식 Queue(개발자가 정의한 destination)에 연결 된 Consumer가 3개.. 2022. 11. 10.
[Spring] Amazon MQ (Active MQ) : 개발 [Spring] Amazone MQ (Active MQ) : 개념편을 이어서 실제 Spring Boot + Active MQ 개발에 대해서 기록해보겠다. 우선적으로 Active MQ 서버가 이미 구성되어 있다는 가정하에 Spring Framework에서 어떻게 설정하고 개발했는지에 대해 살펴보겠다. AWS Amazon MQ Document에 예제가 있으니 참고해도 좋다. Gradle 설정 먼저 gradle에 dependncies를 아래와 같이 'activemq-client'와 'activemq-pool'를 설정해준다. implementation 'org.apache.activemq:activemq-client:5.15.8' implementation 'org.apache.activemq:activemq-.. 2022. 11. 9.
[Spring] Amazon MQ (Active MQ) : 개념 Amazon MQ AWS에서 운영하는 클라우드 기반의 관리형 메시지 브로커 서비스이며 Apache ActiveMQ 기반으로 서비스하고 있다. Producer : 메시지 발행자 Broker(Queue) : 메시지 전달자 Consumer : 메시지 수신자 큰 흐름은 위의 이미지와 같이 Producer가 발행 한 메시지를 Broker에게 전달해 주고 Broker는 메시지를 순차적으로 저장하고 Consumer로 메시지를 순차적으로 전달 / 수신하는 방식이다. JMS (Java Message Service) 자바 기반의 MOM(Message Oriented Middleware) API 표준이며 자바 플랫폼, 엔터프라이즈 에디션 기반이고, 메시지 생성, 송수신, 읽기를 한다. AcitveMQ의 JMS Library.. 2022. 11. 9.
300x250