SlideShare ist ein Scribd-Unternehmen logo
Introduction to Apache ActiveMQ
08. 22. 2019
Wooyoung Choi
wychoi@redwood.snu.ac.kr
Real-Time Operating Systems Laboratory,
Seoul National University
2
Contents
I. Introduction
II. Java Message Service (JMS)
III. Message Oriented Middleware (MOM)
IV. ActiveMQ
V. Conclusion
Introduction to Apache ActiveMQ
3
The Goal of the Presentation
 To get a clear understanding of Apache ActiveMQ.
 ActiveMQ is
① Java Message Service (JMS) 1.1 compliant.
• ActiveMQ is implemented with JMS.
② Message Oriented Middleware (MOM) product that
provides asynchronous messaging.
I. Introduction
4
Motivation
 As a replacement for Remote Procedure Call (RPC).
RPC-synchronous calls have a limited scalability.
Backed up requests slow down the whole system.
Solution : Use asynchronous call to increase scalability.
 To achieve high availability and scalability.
The ability to continue functioning after failure of one or more
servers.
Solution : Migrate from one server to another using brokers in
event of server failure.
I. Introduction
Client server
RPC
5
Contents
I. Introduction
II. Java Message Service (JMS)
III. Message Oriented Middleware (MOM)
IV. ActiveMQ
V. Conclusion
Introduction to Apache ActiveMQ
6
Overview
 What is Java Message Service (JMS)?
JMS is a Message Oriented Middleware (MOM).
Loosely coupled communication.
Asynchronous messaging.
Reliable delivery which means high availability.
II. Java Message Service (JMS)
JMS Interface
7
Goals of JMS
 When to use JMS?
When the provider do not want the components to depend
on other components’ interfaces.
When the provider wants the application to run whether all
components are running or not.
When the provider wants a component to operate without
receiving an immediate response.
II. Java Message Service (JMS)
8
JMS Messaging Models (1)
 Point to Point
Each message has only one receiver.
Message is sent to a queue.
There is no dependency between producer and receiver.
• Producer and receiver are independent to each other.
 Publish-Subscribe
II. Java Message Service (JMS)
9
JMS Messaging Models (2)
 Point to Point
 Publish-Subscribe
Each message can have multiple receivers.
Messages are sent to Topic.
It is used when multiple receivers need to receive the same
messages.
II. Java Message Service (JMS)
10
JMS Provider: ActiveMQ
II. Java Message Service (JMS)
 Java Message Service (JMS) lets user to send
messages from one program to another.
 However, it doesn’t use direct connection.
Instead the message is sent to a JMS provider, such as
ActiveMQ, and put there in a queue.
 Summary: ActiveMQ is a JMS provider and it is
implemented with JMS.
11
Contents
I. Introduction
II. Java Message Service (JMS)
III. Message Oriented Middleware (MOM)
IV. ActiveMQ
V. Conclusion
Introduction to Apache ActiveMQ
12
Overview
 Definition
The layer, which allows programs to communicate by
sending and receiving messages.
 Objective
Message Oriented Middleware allows programmers to
integrate many heterogeneous components for software
systems.
III. Message Oriented Middleware (MOM)
13
Features of MOM: Message Queue
 MOM is implemented as a form of Message Queue.
 Message Queue’s features are
Scalability
① Broker clusters
② Multiple destinations for a publishers or subscribers.
Availability
① Broker clusters
② Master/Slave
Performance
① Memory resource management
III. Message Oriented Middleware (MOM)
14
Contents
I. Introduction
II. Java Message Service (JMS)
III. Message Oriented Middleware (MOM)
IV. ActiveMQ
V. Conclusion
Introduction to Apache ActiveMQ
15
Overview
 What is ActiveMQ?
Message Oriented Middleware (MOM)
• The layer that allows software components to interact with one
other.
ActiveMQ is the most popular open source messaging and
JMS provider developed by Apache.
IV. ActiveMQ
JMS
Compliant
16
Features
 Supports a variety of Cross Language Clients from
Java, C, C++, C#, Python, PHP.
 Designed for high performance clustering.
Network of brokers
 Supports very fast and stable persistence
Master/Slave
IV. ActiveMQ
17
Clustered Brokers improve scalability
 Networks of Brokers
It creates a cluster composed of multiple ActiveMQ
instances.
It allows brokers to communicate each other.
Consequence : It improves scalability.
IV. ActiveMQ
18
Master/Slave improves persistence (1)
 Shared-Nothing Master/Slave structure
Master and Slave have their own message storage.
Slave is connected to the master broker.
All message commands are replicated from the master.
Slave broker takes over Master broker’s task when Master
broker falls down.
IV. ActiveMQ
19
Master/Slave improves persistence (2)
 Shared-Storage Master/Slave structure
Allows many brokers to share the storage mechanism.
Only one broker can be live at any given time.
Master has a file lock and another slave takes over the lock
when the master falls down.
IV. ActiveMQ
20
Hello World Example using ActiveMQ
(1)
1. Connect Producer to broker URL (tcp://localhost:61616).
2. Send a small text message saying “Hello World”.
3. The text message is enqueued in broker URL.
4. Connect Receiver to broker URL (tcp://localhost:61616).
5. Receiver receives the text message from the queue at
broker URL.
6. The message is dequeued.
IV. ActiveMQ
21
Hello World Example using ActiveMQ
(2)
1. Connect Producer to broker URL (tcp://localhost:61616).
2. Send a small text message saying “Hello World”.
IV. ActiveMQ
①
②
22
Hello World Example using ActiveMQ
(3)
3. The text message is enqueued in broker URL.
IV. ActiveMQ
③
23
Hello World Example using ActiveMQ
(4)
4. Connect Receiver to broker URL (tcp://localhost:61616).
5. Receiver receives the text message from the queue at
broker URL.
IV. ActiveMQ
④
⑤
24
Hello World Example using ActiveMQ
(5)
6. The message is dequeued.
IV. ActiveMQ
⑥
25
Contents
I. Introduction
II. Java Message Service (JMS)
III. Message Oriented Middleware (MOM)
IV. ActiveMQ
V. Conclusion
Introduction to Apache ActiveMQ
26
Summary
 Apache ActiveMQ is
Java Message Service provider
Message Oriented Middleware
with high scalability and reliability
 Clustered Brokers
Improve scalability.
Guarantee availability.
 Master/Slave Brokers
Guarantee fast and stable persistence when one falls down.
V. Conclusion

Weitere ähnliche Inhalte

Was ist angesagt?

Spring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topicsSpring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topics
Guy Nir
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
Dmitriy Samovskiy
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
ssuserde97861
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
Varun Talwar
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPC
Guo Jing
 
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
 
Introduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ ArtemisIntroduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ Artemis
Yoshimasa Tanabe
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
Shirish Bari
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
Claus Ibsen
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ Basic
PRASAD BHATKAR
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
The Software House
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQP
Eberhard Wolff
 
Decoupling your application using Symfony Messenger and events
Decoupling your application using Symfony Messenger and eventsDecoupling your application using Symfony Messenger and events
Decoupling your application using Symfony Messenger and events
hmmonteiro
 
02 api gateway
02 api gateway02 api gateway
02 api gateway
Janani Velmurugan
 
kafka
kafkakafka
gRPC and Microservices
gRPC and MicroservicesgRPC and Microservices
gRPC and Microservices
Jonathan Gomez
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
dejanb
 
RabbitMQ
RabbitMQRabbitMQ
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Roger van de Kimmenade
 
Maven
MavenMaven

Was ist angesagt? (20)

Spring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topicsSpring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topics
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPC
 
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
 
Introduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ ArtemisIntroduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ Artemis
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ Basic
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQP
 
Decoupling your application using Symfony Messenger and events
Decoupling your application using Symfony Messenger and eventsDecoupling your application using Symfony Messenger and events
Decoupling your application using Symfony Messenger and events
 
02 api gateway
02 api gateway02 api gateway
02 api gateway
 
kafka
kafkakafka
kafka
 
gRPC and Microservices
gRPC and MicroservicesgRPC and Microservices
gRPC and Microservices
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
 
RabbitMQ
RabbitMQRabbitMQ
RabbitMQ
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Maven
MavenMaven
Maven
 

Ähnlich wie 19 08-22 introduction to activeMQ

ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
jeetendra mandal
 
Messaging in Java
Messaging in JavaMessaging in Java
Messaging in Java
Dmitry Buzdin
 
Jms queues
Jms queuesJms queues
Jms queues
Karnam Karthik
 
Apache ActiveMQ
Apache ActiveMQ Apache ActiveMQ
Apache ActiveMQ
Srushti Patel
 
IBM MQ Series For ZOS
IBM MQ Series For ZOSIBM MQ Series For ZOS
IBM MQ Series For ZOS
Srinimf-Slides
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
Ram Babu
 
M messaging 2
M messaging 2M messaging 2
M messaging 2
Vasanthii Chowdary
 
Mule esb
Mule esbMule esb
Mule esb
himajareddys
 
Mule esb
Mule esbMule esb
Mule esb
himajareddys
 
IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0
IBM Systems UKI
 
Jms
JmsJms
Jms queue
Jms queueJms queue
Jms queue
Son Nguyen
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented Middleware
Peter R. Egli
 
JMS
JMSJMS
Mule
MuleMule
Mule jms queues
Mule jms queuesMule jms queues
Mule jms queues
Gandham38
 
Cloud 2010
Cloud 2010Cloud 2010
Cloud 2010
steccami
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2
 
Java Messaging Services
Java Messaging ServicesJava Messaging Services
Java Messaging Services
kumar gaurav
 
Red book mq
Red book mqRed book mq
Red book mq
murali8620000
 

Ähnlich wie 19 08-22 introduction to activeMQ (20)

ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
 
Messaging in Java
Messaging in JavaMessaging in Java
Messaging in Java
 
Jms queues
Jms queuesJms queues
Jms queues
 
Apache ActiveMQ
Apache ActiveMQ Apache ActiveMQ
Apache ActiveMQ
 
IBM MQ Series For ZOS
IBM MQ Series For ZOSIBM MQ Series For ZOS
IBM MQ Series For ZOS
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
 
M messaging 2
M messaging 2M messaging 2
M messaging 2
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0
 
Jms
JmsJms
Jms
 
Jms queue
Jms queueJms queue
Jms queue
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented Middleware
 
JMS
JMSJMS
JMS
 
Mule
MuleMule
Mule
 
Mule jms queues
Mule jms queuesMule jms queues
Mule jms queues
 
Cloud 2010
Cloud 2010Cloud 2010
Cloud 2010
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
 
Java Messaging Services
Java Messaging ServicesJava Messaging Services
Java Messaging Services
 
Red book mq
Red book mqRed book mq
Red book mq
 

Kürzlich hochgeladen

HMS Facebook Stories All V1 06092024.docx
HMS Facebook Stories All V1 06092024.docxHMS Facebook Stories All V1 06092024.docx
HMS Facebook Stories All V1 06092024.docx
Charles Bayless
 
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdfUR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
urbhattiacademy
 
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
9u4xjk4w
 
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
anubug
 
STUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISM
STUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISMSTUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISM
STUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISM
AJHSSR Journal
 
Factors affecting undergraduate students’ motivation at a university in Tra Vinh
Factors affecting undergraduate students’ motivation at a university in Tra VinhFactors affecting undergraduate students’ motivation at a university in Tra Vinh
Factors affecting undergraduate students’ motivation at a university in Tra Vinh
AJHSSR Journal
 
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
7lkkjxt
 
Dominate Reddit Discussions.............
Dominate Reddit Discussions.............Dominate Reddit Discussions.............
Dominate Reddit Discussions.............
SocioCosmos
 
The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...
The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...
The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...
AJHSSR Journal
 
Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........
SocioCosmos
 

Kürzlich hochgeladen (10)

HMS Facebook Stories All V1 06092024.docx
HMS Facebook Stories All V1 06092024.docxHMS Facebook Stories All V1 06092024.docx
HMS Facebook Stories All V1 06092024.docx
 
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdfUR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
 
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
 
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
 
STUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISM
STUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISMSTUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISM
STUDY ON THE DEVELOPMENT STRATEGY OF HUZHOU TOURISM
 
Factors affecting undergraduate students’ motivation at a university in Tra Vinh
Factors affecting undergraduate students’ motivation at a university in Tra VinhFactors affecting undergraduate students’ motivation at a university in Tra Vinh
Factors affecting undergraduate students’ motivation at a university in Tra Vinh
 
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
 
Dominate Reddit Discussions.............
Dominate Reddit Discussions.............Dominate Reddit Discussions.............
Dominate Reddit Discussions.............
 
The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...
The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...
The Impact of Work Stress and Digital Literacy on Employee Performance at PT ...
 
Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........
 

19 08-22 introduction to activeMQ

  • 1. Introduction to Apache ActiveMQ 08. 22. 2019 Wooyoung Choi wychoi@redwood.snu.ac.kr Real-Time Operating Systems Laboratory, Seoul National University
  • 2. 2 Contents I. Introduction II. Java Message Service (JMS) III. Message Oriented Middleware (MOM) IV. ActiveMQ V. Conclusion Introduction to Apache ActiveMQ
  • 3. 3 The Goal of the Presentation  To get a clear understanding of Apache ActiveMQ.  ActiveMQ is ① Java Message Service (JMS) 1.1 compliant. • ActiveMQ is implemented with JMS. ② Message Oriented Middleware (MOM) product that provides asynchronous messaging. I. Introduction
  • 4. 4 Motivation  As a replacement for Remote Procedure Call (RPC). RPC-synchronous calls have a limited scalability. Backed up requests slow down the whole system. Solution : Use asynchronous call to increase scalability.  To achieve high availability and scalability. The ability to continue functioning after failure of one or more servers. Solution : Migrate from one server to another using brokers in event of server failure. I. Introduction Client server RPC
  • 5. 5 Contents I. Introduction II. Java Message Service (JMS) III. Message Oriented Middleware (MOM) IV. ActiveMQ V. Conclusion Introduction to Apache ActiveMQ
  • 6. 6 Overview  What is Java Message Service (JMS)? JMS is a Message Oriented Middleware (MOM). Loosely coupled communication. Asynchronous messaging. Reliable delivery which means high availability. II. Java Message Service (JMS) JMS Interface
  • 7. 7 Goals of JMS  When to use JMS? When the provider do not want the components to depend on other components’ interfaces. When the provider wants the application to run whether all components are running or not. When the provider wants a component to operate without receiving an immediate response. II. Java Message Service (JMS)
  • 8. 8 JMS Messaging Models (1)  Point to Point Each message has only one receiver. Message is sent to a queue. There is no dependency between producer and receiver. • Producer and receiver are independent to each other.  Publish-Subscribe II. Java Message Service (JMS)
  • 9. 9 JMS Messaging Models (2)  Point to Point  Publish-Subscribe Each message can have multiple receivers. Messages are sent to Topic. It is used when multiple receivers need to receive the same messages. II. Java Message Service (JMS)
  • 10. 10 JMS Provider: ActiveMQ II. Java Message Service (JMS)  Java Message Service (JMS) lets user to send messages from one program to another.  However, it doesn’t use direct connection. Instead the message is sent to a JMS provider, such as ActiveMQ, and put there in a queue.  Summary: ActiveMQ is a JMS provider and it is implemented with JMS.
  • 11. 11 Contents I. Introduction II. Java Message Service (JMS) III. Message Oriented Middleware (MOM) IV. ActiveMQ V. Conclusion Introduction to Apache ActiveMQ
  • 12. 12 Overview  Definition The layer, which allows programs to communicate by sending and receiving messages.  Objective Message Oriented Middleware allows programmers to integrate many heterogeneous components for software systems. III. Message Oriented Middleware (MOM)
  • 13. 13 Features of MOM: Message Queue  MOM is implemented as a form of Message Queue.  Message Queue’s features are Scalability ① Broker clusters ② Multiple destinations for a publishers or subscribers. Availability ① Broker clusters ② Master/Slave Performance ① Memory resource management III. Message Oriented Middleware (MOM)
  • 14. 14 Contents I. Introduction II. Java Message Service (JMS) III. Message Oriented Middleware (MOM) IV. ActiveMQ V. Conclusion Introduction to Apache ActiveMQ
  • 15. 15 Overview  What is ActiveMQ? Message Oriented Middleware (MOM) • The layer that allows software components to interact with one other. ActiveMQ is the most popular open source messaging and JMS provider developed by Apache. IV. ActiveMQ JMS Compliant
  • 16. 16 Features  Supports a variety of Cross Language Clients from Java, C, C++, C#, Python, PHP.  Designed for high performance clustering. Network of brokers  Supports very fast and stable persistence Master/Slave IV. ActiveMQ
  • 17. 17 Clustered Brokers improve scalability  Networks of Brokers It creates a cluster composed of multiple ActiveMQ instances. It allows brokers to communicate each other. Consequence : It improves scalability. IV. ActiveMQ
  • 18. 18 Master/Slave improves persistence (1)  Shared-Nothing Master/Slave structure Master and Slave have their own message storage. Slave is connected to the master broker. All message commands are replicated from the master. Slave broker takes over Master broker’s task when Master broker falls down. IV. ActiveMQ
  • 19. 19 Master/Slave improves persistence (2)  Shared-Storage Master/Slave structure Allows many brokers to share the storage mechanism. Only one broker can be live at any given time. Master has a file lock and another slave takes over the lock when the master falls down. IV. ActiveMQ
  • 20. 20 Hello World Example using ActiveMQ (1) 1. Connect Producer to broker URL (tcp://localhost:61616). 2. Send a small text message saying “Hello World”. 3. The text message is enqueued in broker URL. 4. Connect Receiver to broker URL (tcp://localhost:61616). 5. Receiver receives the text message from the queue at broker URL. 6. The message is dequeued. IV. ActiveMQ
  • 21. 21 Hello World Example using ActiveMQ (2) 1. Connect Producer to broker URL (tcp://localhost:61616). 2. Send a small text message saying “Hello World”. IV. ActiveMQ ① ②
  • 22. 22 Hello World Example using ActiveMQ (3) 3. The text message is enqueued in broker URL. IV. ActiveMQ ③
  • 23. 23 Hello World Example using ActiveMQ (4) 4. Connect Receiver to broker URL (tcp://localhost:61616). 5. Receiver receives the text message from the queue at broker URL. IV. ActiveMQ ④ ⑤
  • 24. 24 Hello World Example using ActiveMQ (5) 6. The message is dequeued. IV. ActiveMQ ⑥
  • 25. 25 Contents I. Introduction II. Java Message Service (JMS) III. Message Oriented Middleware (MOM) IV. ActiveMQ V. Conclusion Introduction to Apache ActiveMQ
  • 26. 26 Summary  Apache ActiveMQ is Java Message Service provider Message Oriented Middleware with high scalability and reliability  Clustered Brokers Improve scalability. Guarantee availability.  Master/Slave Brokers Guarantee fast and stable persistence when one falls down. V. Conclusion