9. 기업 메시징 서비스의 현재
기업 데이터 센터
인벤토리
CRM
프론트엔드
주문
백엔드
주문MoM
메시지 지향 미들웨어 (MoM) or 메시지 브로커
10. 기업 메시징 서비스의 도전과제
안정성, 신뢰성
운영 관리부담
용량, 사이즈 산정
비용
11. New Launch! - Amazon MQ
ActiveMQ를 위한 관리형 메시지 브로커 서비스
12. “기존에 사용하던 코드를 재작성 하지 않고 그대로 클라우드 환경으로
옮겨가고 싶어요.”
“그런데.. 이미 SQS, SNS 같은 메시징 서비스가 있지 않나요?”
“JMS, AMQP, MQTT, STOMP 같이 다양한 프로토콜 지원이 필요해요.”
“오픈소스 메시지 브로커의 더 풍부한 기능들이 필요해요.”
13. 주요 특징
- Apache ActiveMQ 의 관리형 서비스
- ActiveMQ는 가장 대중적이고 강력한 오픈소스 메시지 브로커
- 다양한 API 언어 지원, 표준 Protocol 호환
- 몇번의 클릭, 단 몇분만에 배포
- 고가용성, 내구성 보장
- 쉬운 세팅 및 관리
- 운영 오버헤드 절약
- AWS Cloud Watch 모니터링 지원
14. 운영 오버헤드 절약
Security
브로커의 설정 및 유지보수를 Amazon MQ가 관리
Provisioning
TroubleshootingMaintenance Monitoring
Updates
25. Message Producer 코드
// Create a connection factory.
String url = "failover:(ssl://b-25cefb1f-e2f3-41f6-9870-b4387badeb37-2.mq.us-east-1.amazonaws.com:61617," +
"ssl://b-25cefb1f-e2f3-41f6-9870-b4387badeb37-1.mq.us-east-1.amazonaws.com:61617)";
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
// Specify the username and password.
connectionFactory.setUserName("west0706"); connectionFactory.setPassword(“************");
...
...
// Establish a connection for the producer.
Connection producerConnection = pooledConnectionFactory.createConnection();
producerConnection.start();
...
...
// Create a queue named "MyQueue".
Destination producerDestination = producerSession.createQueue("active01");
// Create a producer from the session to the queue.
MessageProducer producer = producerSession.createProducer(producerDestination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
// Create a message.
TextMessage producerMessage = producerSession.createTextMessage("Hello from Amazon MQ!!!!!");
producer.send(producerMessage);
27. 마무리
• 간편하게 메시지 브로커를 구성할 수 있다. (단 몇분, 3번클릭)
• 관리 포인트가 줄어든다. (RDS)
• 고가용성(HA) 아키텍처 구성을 손쉽게 구성할 수 있다.
• 표준 Protocol 지원으로 기존 시스템에서 클라우드로의
마이그래이션이 쉽다. (end-point만 변경)
• 익숙한 CloudWatch 로 모니터링이 가능하다.