SlideShare a Scribd company logo
- JMS 시스템의 이해


Uajjang.com 미디어 검색팀 정경석
                2012. 05 .09
   What is JMS?
   Why JMS?
   Producer/Consumer
   Type of JMS model
   About ActiveMQ
   When is the right time to use ActiveMQ?
   How to use ActiveMQ?
   How to monitoring in ActiveMQ?
   Fault tolerance and High availability
   JMS is Java Message Service
   Standard J2EE messaging API
   JMS is asynchronous in nature
   Producer/Consumer pattern의 구현체
   Producer, Message, Consumer로 구성됨.
   Message broker system
     메시지 전송 중계를 담당.
     Message의 전송을 보장.
       즉, JMS를 통해 전송된 메시지는 반드시 목적지에 도달함.
 Heterogeneous application integration
   Unix <-> IBM Host, Java <-> C++
   이기종, 다른 언어로 작성된 Applicaion간의 업무 통
    합이 가능함.
 High reliability and the performance
 Do not need to concern about
 communication.
   데이터의 통신은 JMS가 담당 하므로 개발자는 순수
   하게 메시지에만 관심을 가질 수 있음
   메시지 전송의 투명성을 가짐.

Recommended for you

IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교

IBM JVM 소개 - Oracle JVM 과 비교

ibm java oracle jvm 비교
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture

This presentation outlines the benefits of implementing a Microservice over a monolithic architecture.

Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot

This is a deep journey into the realm of "microservice architecture", and in that I will try to cover each inch of it, but with a fixed tech stack of Java with Spring Cloud. Hence in the end, you will be get know each and every aspect of this distributed design, and will develop an understanding of each and every concern regarding distributed system construct.

microservicemicroservice architecturejava spring cloud
Broker(JMS)



    Producer                   Consumer

 생산자는 메시지를 만들어서 Broker에게 전송.
 소비자는 Broker로 부터 메시지를 수신
 즉, 메시지가 생성되어 소비하기까지의 과정을 중계하는 역할
 Point to Point(Sender/Receiver)
     하나의 메시지는 하나의 목적지로만 전달됨.
     특정한 App이 메시지를 수신하도록 유도 가능.



        Sender              Queue    Receiver 1

                                     Receiver 2

 Publish and Subscribe
    하나의 메시지는 다중의 목적지로 전달됨.
    모든 App이 메시지를 수신



       Publisher             Topic   Subscriber

                                     Subscriber
 Most popular and powerful open source
 Message Broker
 Java based JMS implementation
 Spring Integration with ActiveMQ
 Fault tolerance(High availability)
 Easy to Scale out
 Supports a large number of Cross
 Language Clients(C#, C++, Perl, PHP, Python,
 Ruby, Delphi…)
 RPC의 대체(Async)
 Event Driven Architecture with POJOs
 (Shopping)
 Software적인 scalability를 보장받고자 하는 경
 우(SOA)
 메시지 전송의 보장이 필요한 경우(System간)
 Transaction load balancing 필요한 경우
 각 시스템에 동일한 메시지를 전달해야 하는 경
 우(Notification)

Recommended for you

Xke spring boot
Xke spring bootXke spring boot
Xke spring boot

Spring Boot is a framework for developing Java applications that reduces configuration and provides production-ready features. It allows developing Spring applications with minimal configuration by automatically configuring Spring and third-party libraries. Spring Boot provides starter dependencies to simplify build configuration and modules for autoconfiguration, CLI, monitoring, and more.

spring boot presentationspring bootspring
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS

This document introduces ReactJS, a JavaScript library for building user interfaces. It discusses key React concepts like the virtual DOM, which is a JavaScript representation of real DOM elements that allows React to efficiently update the real DOM by comparing it to a new virtual DOM. It also covers one-way data binding in React, where data flows from parent to child components through props, while events flow in the opposite direction. Finally, it emphasizes that in React, everything is a component, and components manage their own state and receive immutable props from parent components.

Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest

Ben McCormick gave a presentation on how to save time by testing with Jest. He began with an introduction and explained that Jest is a JavaScript testing framework developed by Facebook that aims to solve common testing problems. He then demonstrated how Jest saves time through fast setup, writing tests quickly using familiar syntax and APIs, running tests in parallel and with a smart watch mode, and providing clear errors to fix tests fast. He concluded with a demo of Jest's features and took questions.

jestjavascripttesting
 Install ActiveMQ(using default setting).
 Write sender application(using ActiveMQ Lib)
 Write receiver application(using ActiveMQ Lib)




                    Broker(JMS)


     Producer                        Consumer
     (Sender)                        (Receiver)
Write sender application
ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(“tcp://10.1.0.11:61616”);
Connection connection = connectionFactory.createConnection();
connection.start();

// Create the session
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue(“com.jjanglive.jPush”);

// Create the producer.
producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

TextMessage textMessage = session.createTextMessage(“This is a sample message!!”);

producer.send(textMessage);
Write receiver application with Spring
public class SampleMessageHandler implements MessageListener {
@Override
public void onMessage(Message message) {
  // do something
  System.out.println(“Message Received!!!!!!!!”);
}
Spring setting
<bean id="connectionFactory"
class="org.apache.activemq.spring.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover:tcp://10.4.0.101:61616" />
</bean>
<bean id="jPushQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg index="0" value="com.jjanglive.jPush" />
</bean>
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="jPushQueue" />
<property name="messageListener" ref="jMessageListenerAdapter" />
</bean>
<bean id="jMessageListenerAdapter"
class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
<constructor-arg>
<bean class="com.jjanglive.jpush.message.handler.JPushMessageHandler"></bean>
</constructor-arg>
</bean>

Recommended for you

Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API

Spring Boot is a framework for creating stand-alone, production-grade Spring-based applications that can be started using java -jar without requiring any traditional application servers. It is designed to get developers up and running as quickly as possible with minimal configuration. Some key features of Spring Boot include automatic configuration, starter dependencies to simplify dependency management, embedded HTTP servers, security, metrics, health checks and externalized configuration. The document then provides examples of building a basic RESTful web service with Spring Boot using common HTTP methods like GET, POST, PUT, DELETE and handling requests and responses.

springspring bootmicroservices
Tomcat
TomcatTomcat
Tomcat

This document provides an overview of Apache Tomcat, a free and open-source web server and servlet container developed by the Apache Software Foundation (ASF) that implements the Java Servlet and JavaServer Pages (JSP) technologies. It discusses what Tomcat is, its role as a web application container, how to install and configure it, enable features like CGI and SSI, and addresses some common issues. The advantages of using Tomcat include that it is open source, lightweight, easily configured, stable, well documented, and free.

Spring Security
Spring SecuritySpring Security
Spring Security

This session will explain 'Spring Security', a powerful and highly customizable authentication and access-control framework.

springspring securityjava
Connect to http://server_address:8161/admin
Broker down case


            MQ Client    MQ Client    …   MQ Client

                         Broker Agent          Failover connect



              Active       Active           Active
              MQ 1         MQ 2       …     MQ n



            Receiver 1   Receiver 2   …   Receiver n


 특정 Broker가 Down된 경우 MQ Client와 Receiver는 자동으로 down을 감
  지하고 살아 있는 Broker를 찾아 auto reconnect

More Related Content

What's hot

Docker swarm introduction
Docker swarm introductionDocker swarm introduction
Docker swarm introduction
Evan Lin
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
ssuserde97861
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교
JungWoon Lee
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
Paul Mooney
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
sourabh aggarwal
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
Hoang Long
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest
Ben McCormick
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
 
Tomcat
TomcatTomcat
Spring Security
Spring SecuritySpring Security
Spring Security
Knoldus Inc.
 
Spring security
Spring securitySpring security
Spring security
Saurabh Sharma
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
Joshua Long
 
Web workers
Web workersWeb workers
Web workers
Surbhi Mathur
 
React JS part 1
React JS part 1React JS part 1
React JS part 1
Diluka Wittahachchige
 
Easy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQPEasy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQP
Rabbit MQ
 
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
Young D
 
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
ssuserf8b8bd1
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentals
Biju Nair
 

What's hot (20)

Docker swarm introduction
Docker swarm introductionDocker swarm introduction
Docker swarm introduction
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
Tomcat
TomcatTomcat
Tomcat
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Spring security
Spring securitySpring security
Spring security
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Web workers
Web workersWeb workers
Web workers
 
React JS part 1
React JS part 1React JS part 1
React JS part 1
 
Easy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQPEasy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQP
 
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
 
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentals
 

Viewers also liked

Messaging With ActiveMQ
Messaging With ActiveMQMessaging With ActiveMQ
Messaging With ActiveMQ
Bruce Snyder
 
ActiveMQ In Action
ActiveMQ In ActionActiveMQ In Action
ActiveMQ In Action
Bruce Snyder
 
Messaging With Apache ActiveMQ
Messaging With Apache ActiveMQMessaging With Apache ActiveMQ
Messaging With Apache ActiveMQ
Bruce Snyder
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQ
Rob Davies
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
dejanb
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQ
dejanb
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in action
dejanb
 
Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
Omi Om
 
Zero aos와 DIY HTS비교
Zero aos와 DIY HTS비교Zero aos와 DIY HTS비교
Zero aos와 DIY HTS비교
Smith Kim
 
Active mq Installation and Master Slave setup
Active mq Installation and Master Slave setupActive mq Installation and Master Slave setup
Active mq Installation and Master Slave setup
Ramakrishna Narkedamilli
 
Enterprise mobility
Enterprise mobilityEnterprise mobility
Enterprise mobility
abhijitmadhwaraj
 
Mcollective orchestration tool 소개
Mcollective orchestration tool 소개Mcollective orchestration tool 소개
Mcollective orchestration tool 소개
태준 문
 
A Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging PlatformsA Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging Platforms
Jesus Rodriguez
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드
Terry Cho
 
IoT with Apache ActiveMQ, Camel & Spark
IoT with Apache ActiveMQ, Camel & SparkIoT with Apache ActiveMQ, Camel & Spark
IoT with Apache ActiveMQ, Camel & Spark
Red Hat Developers
 
빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현
상욱 송
 
토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드
Justin Park
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollo
dejanb
 
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
uEngine Solutions
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
Christian Posta
 

Viewers also liked (20)

Messaging With ActiveMQ
Messaging With ActiveMQMessaging With ActiveMQ
Messaging With ActiveMQ
 
ActiveMQ In Action
ActiveMQ In ActionActiveMQ In Action
ActiveMQ In Action
 
Messaging With Apache ActiveMQ
Messaging With Apache ActiveMQMessaging With Apache ActiveMQ
Messaging With Apache ActiveMQ
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQ
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQ
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in action
 
Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
Zero aos와 DIY HTS비교
Zero aos와 DIY HTS비교Zero aos와 DIY HTS비교
Zero aos와 DIY HTS비교
 
Active mq Installation and Master Slave setup
Active mq Installation and Master Slave setupActive mq Installation and Master Slave setup
Active mq Installation and Master Slave setup
 
Enterprise mobility
Enterprise mobilityEnterprise mobility
Enterprise mobility
 
Mcollective orchestration tool 소개
Mcollective orchestration tool 소개Mcollective orchestration tool 소개
Mcollective orchestration tool 소개
 
A Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging PlatformsA Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging Platforms
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드
 
IoT with Apache ActiveMQ, Camel & Spark
IoT with Apache ActiveMQ, Camel & SparkIoT with Apache ActiveMQ, Camel & Spark
IoT with Apache ActiveMQ, Camel & Spark
 
빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현
 
토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollo
 
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
 

Similar to Active MQ

JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4u
sys4u
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivity
JinKyoungHeo
 
IBM Websphere MQ Software 소개 ( Messaging Engine )
IBM Websphere MQ Software  소개 ( Messaging Engine )IBM Websphere MQ Software  소개 ( Messaging Engine )
IBM Websphere MQ Software 소개 ( Messaging Engine )
Shaun LEE
 
Wisepush
WisepushWisepush
Wisepush
호진 하
 
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-koAndroidpn guide-0.5.0-ko
Androidpn guide-0.5.0-ko
sandeepreddyp42
 
[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX
[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX
[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX
Ji-Woong Choi
 
Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0
Kidong Lee
 
Mirantis open stack deployment automation
Mirantis open stack deployment automationMirantis open stack deployment automation
Mirantis open stack deployment automation
WooKyun Jeon
 
Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)
Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)
Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)
Wonseok Jang
 
Spring 4.x Web Application 살펴보기
Spring 4.x Web Application  살펴보기Spring 4.x Web Application  살펴보기
Spring 4.x Web Application 살펴보기
Ji Heon Kim
 
IBM MQTT Mobile Push Solution 소개서
IBM MQTT Mobile Push Solution 소개서IBM MQTT Mobile Push Solution 소개서
IBM MQTT Mobile Push Solution 소개서
Shaun LEE
 
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
NAVER Engineering
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
Tommy Lee
 
m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325
sbroh
 
클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다
상욱 송
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunner
hmfive
 
.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기
Ji Lee
 
Zoo keeper 소개
Zoo keeper 소개Zoo keeper 소개
Zoo keeper 소개
주표 홍
 
2015 oce specification
2015 oce specification2015 oce specification
2015 oce specification
uEngine Solutions
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista Community
 

Similar to Active MQ (20)

JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4u
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivity
 
IBM Websphere MQ Software 소개 ( Messaging Engine )
IBM Websphere MQ Software  소개 ( Messaging Engine )IBM Websphere MQ Software  소개 ( Messaging Engine )
IBM Websphere MQ Software 소개 ( Messaging Engine )
 
Wisepush
WisepushWisepush
Wisepush
 
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-koAndroidpn guide-0.5.0-ko
Androidpn guide-0.5.0-ko
 
[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX
[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX
[오픈소스컨설팅]JBoss AS7/EAP6 - JMS and JMX
 
Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0
 
Mirantis open stack deployment automation
Mirantis open stack deployment automationMirantis open stack deployment automation
Mirantis open stack deployment automation
 
Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)
Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)
Progressive Web App(PWA) 테코톡 발표자료 - 마르코(장원석)
 
Spring 4.x Web Application 살펴보기
Spring 4.x Web Application  살펴보기Spring 4.x Web Application  살펴보기
Spring 4.x Web Application 살펴보기
 
IBM MQTT Mobile Push Solution 소개서
IBM MQTT Mobile Push Solution 소개서IBM MQTT Mobile Push Solution 소개서
IBM MQTT Mobile Push Solution 소개서
 
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325
 
클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunner
 
.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기
 
Zoo keeper 소개
Zoo keeper 소개Zoo keeper 소개
Zoo keeper 소개
 
2015 oce specification
2015 oce specification2015 oce specification
2015 oce specification
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
 

More from Kris Jeong

Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략
Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략
Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략
Kris Jeong
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
Kris Jeong
 
Redis data design by usecase
Redis data design by usecaseRedis data design by usecase
Redis data design by usecase
Kris Jeong
 
This is redis - feature and usecase
This is redis - feature and usecaseThis is redis - feature and usecase
This is redis - feature and usecase
Kris Jeong
 
이것이 레디스다.
이것이 레디스다.이것이 레디스다.
이것이 레디스다.
Kris Jeong
 
REDIS intro and how to use redis
REDIS intro and how to use redisREDIS intro and how to use redis
REDIS intro and how to use redis
Kris Jeong
 

More from Kris Jeong (6)

Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략
Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략
Soscon2017 오픈소스를 활용한 마이크로 서비스의 캐시 전략
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 
Redis data design by usecase
Redis data design by usecaseRedis data design by usecase
Redis data design by usecase
 
This is redis - feature and usecase
This is redis - feature and usecaseThis is redis - feature and usecase
This is redis - feature and usecase
 
이것이 레디스다.
이것이 레디스다.이것이 레디스다.
이것이 레디스다.
 
REDIS intro and how to use redis
REDIS intro and how to use redisREDIS intro and how to use redis
REDIS intro and how to use redis
 

Active MQ

  • 1. - JMS 시스템의 이해 Uajjang.com 미디어 검색팀 정경석 2012. 05 .09
  • 2. What is JMS?  Why JMS?  Producer/Consumer  Type of JMS model  About ActiveMQ  When is the right time to use ActiveMQ?  How to use ActiveMQ?  How to monitoring in ActiveMQ?  Fault tolerance and High availability
  • 3. JMS is Java Message Service  Standard J2EE messaging API  JMS is asynchronous in nature  Producer/Consumer pattern의 구현체  Producer, Message, Consumer로 구성됨.  Message broker system  메시지 전송 중계를 담당.  Message의 전송을 보장.  즉, JMS를 통해 전송된 메시지는 반드시 목적지에 도달함.
  • 4.  Heterogeneous application integration  Unix <-> IBM Host, Java <-> C++  이기종, 다른 언어로 작성된 Applicaion간의 업무 통 합이 가능함.  High reliability and the performance  Do not need to concern about communication.  데이터의 통신은 JMS가 담당 하므로 개발자는 순수 하게 메시지에만 관심을 가질 수 있음  메시지 전송의 투명성을 가짐.
  • 5. Broker(JMS) Producer Consumer  생산자는 메시지를 만들어서 Broker에게 전송.  소비자는 Broker로 부터 메시지를 수신  즉, 메시지가 생성되어 소비하기까지의 과정을 중계하는 역할
  • 6.  Point to Point(Sender/Receiver)  하나의 메시지는 하나의 목적지로만 전달됨.  특정한 App이 메시지를 수신하도록 유도 가능. Sender Queue Receiver 1 Receiver 2  Publish and Subscribe  하나의 메시지는 다중의 목적지로 전달됨.  모든 App이 메시지를 수신 Publisher Topic Subscriber Subscriber
  • 7.  Most popular and powerful open source Message Broker  Java based JMS implementation  Spring Integration with ActiveMQ  Fault tolerance(High availability)  Easy to Scale out  Supports a large number of Cross Language Clients(C#, C++, Perl, PHP, Python, Ruby, Delphi…)
  • 8.  RPC의 대체(Async)  Event Driven Architecture with POJOs (Shopping)  Software적인 scalability를 보장받고자 하는 경 우(SOA)  메시지 전송의 보장이 필요한 경우(System간)  Transaction load balancing 필요한 경우  각 시스템에 동일한 메시지를 전달해야 하는 경 우(Notification)
  • 9.  Install ActiveMQ(using default setting).  Write sender application(using ActiveMQ Lib)  Write receiver application(using ActiveMQ Lib) Broker(JMS) Producer Consumer (Sender) (Receiver)
  • 10. Write sender application ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“tcp://10.1.0.11:61616”); Connection connection = connectionFactory.createConnection(); connection.start(); // Create the session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue(“com.jjanglive.jPush”); // Create the producer. producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); TextMessage textMessage = session.createTextMessage(“This is a sample message!!”); producer.send(textMessage);
  • 11. Write receiver application with Spring public class SampleMessageHandler implements MessageListener { @Override public void onMessage(Message message) { // do something System.out.println(“Message Received!!!!!!!!”); }
  • 12. Spring setting <bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory"> <property name="brokerURL" value="failover:tcp://10.4.0.101:61616" /> </bean> <bean id="jPushQueue" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0" value="com.jjanglive.jPush" /> </bean> <bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory" /> <property name="destination" ref="jPushQueue" /> <property name="messageListener" ref="jMessageListenerAdapter" /> </bean> <bean id="jMessageListenerAdapter" class="org.springframework.jms.listener.adapter.MessageListenerAdapter"> <constructor-arg> <bean class="com.jjanglive.jpush.message.handler.JPushMessageHandler"></bean> </constructor-arg> </bean>
  • 14. Broker down case MQ Client MQ Client … MQ Client Broker Agent Failover connect Active Active Active MQ 1 MQ 2 … MQ n Receiver 1 Receiver 2 … Receiver n  특정 Broker가 Down된 경우 MQ Client와 Receiver는 자동으로 down을 감 지하고 살아 있는 Broker를 찾아 auto reconnect