What is a Message Queue?

IBM Technology
10 Jan 202215:37

Summary

TLDRIn this informative video, Jamil Spain from IBM Cloud explores the concept of message queuing, an architectural technique that facilitates asynchronous communication between applications. He explains the importance of decoupling applications for scalability and flexibility, using email as a relatable example of how messages can be queued and processed independently. Jamil also discusses different messaging patterns like point-to-point, publish-subscribe, and request-reply, emphasizing their roles in modern cloud-native architectures. The video is a valuable resource for developers looking to enhance their application design with message queuing.

Takeaways

  • πŸ˜€ Message queuing is an architectural technique that facilitates asynchronous communication between applications.
  • πŸ”„ It allows for the decoupling of applications, enabling them to function independently without immediate processing dependencies.
  • πŸ“§ The concept of a message queue can be likened to an email inbox, where messages are held until they are ready to be processed.
  • πŸ’Œ Messages can vary in type, including data payloads, files, or metadata that triggers actions in other systems.
  • πŸ‘€ Key roles in message queuing are the producer, which sends messages, and the consumer, which processes them.
  • πŸ“¦ The point-to-point messaging pattern involves a direct message exchange between a single producer and a single consumer.
  • πŸ“’ Publish-subscribe (PubSub) is a pattern where a single producer sends messages to multiple consumers interested in the message topic.
  • πŸ” Request-reply is a messaging pattern where a producer sends a request and waits for a response on a separate queue.
  • πŸ”„ Decoupling through message queuing leads to more manageable, scalable, and maintainable applications.
  • 🌐 Message queuing is particularly beneficial in cloud-native architectures where services are distributed and require loose coupling.

Q & A

  • What is the primary expectation in traditional application development regarding processing time?

    -In traditional application development, there is an expectation that applications would process everything immediately, with instant confirmation that something is happening.

  • How does message queuing differ from traditional synchronous communication?

    -Message queuing allows for asynchronous communication, meaning that applications can continue to function without waiting for an immediate response from other parts or systems, unlike synchronous communication which requires an immediate response.

  • What does the term 'decoupling' mean in the context of message queuing?

    -Decoupling refers to the ability to break applications apart into separate components that can operate independently, allowing for greater flexibility and scalability in application architecture.

  • Can you provide an example of asynchronous communication mentioned in the script?

    -An example of asynchronous communication given in the script is email, where a message can be sent and the sender can continue with other tasks without waiting for a response.

  • What are the two main roles or profiles in a message queuing system?

    -The two main roles in a message queuing system are the producer, which sends messages to the queue, and the consumer, which retrieves and processes the messages.

  • What is the difference between point-to-point and publish-subscribe messaging patterns?

    -In a point-to-point messaging pattern, messages are sent from a single producer to a single consumer. In contrast, the publish-subscribe (PubSub) pattern allows multiple consumers to subscribe to messages from a single producer.

  • How does message queuing support scalability in applications?

    -Message queuing supports scalability by allowing different parts of an application to be scaled independently based on demand, without affecting the overall system, as each component can be developed, deployed, and scaled separately.

  • What is the significance of the 'queue' in message queuing?

    -The 'queue' in message queuing is a data structure that holds messages in the order they are received and delivers them sequentially to the consumer, ensuring that messages are processed in a controlled and organized manner.

  • How can message queuing help in handling high traffic on web forms?

    -Message queuing can help in handling high traffic on web forms by allowing the form data to be sent to a queue and processed asynchronously, which prevents the system from being overwhelmed and ensures that the user interface remains responsive.

  • What are the benefits of using message queuing in a microservices architecture?

    -Using message queuing in a microservices architecture allows for better decoupling of services, improved scalability, and the ability to handle failures more gracefully, as each service can operate independently and communicate through messages.

  • How does message queuing enable the use of different programming languages for different components of an application?

    -Message queuing enables the use of different programming languages for different components by allowing each service or application part to operate independently, focusing on its single responsibility without being tied to a specific technology stack.

Outlines

00:00

πŸ“š Introduction to Message Queuing

Jamil Spain from IBM Cloud introduces the concept of message queuing, an architectural technique that facilitates asynchronous communication between applications. He discusses the traditional expectation of immediate processing in applications and how message queuing allows for a more flexible, decoupled approach. Jamil explains the term 'message queuing' by breaking it down into 'message', which refers to data that needs to be transmitted, and 'queue', which is a sequential list that holds messages in order for processing. He uses email as an analogy to explain the asynchronous nature of message queuing, where messages are sent and received independently of each other's processing time.

05:04

πŸ”„ Message Queuing Patterns

The script continues with Jamil explaining different message queuing patterns, starting with the point-to-point model where a producer sends a message directly to a consumer. He uses a visual aid to depict a queue and illustrates the roles of producers and consumers in this process. Jamil then moves on to the publish-subscribe (PubSub) model, where multiple consumers can listen to a channel for messages. He gives examples such as sending notifications to various departments upon a new order in an e-commerce setting. Lastly, he touches on the request-reply pattern, where a producer sends a message and waits for a response on a separate queue, emphasizing the asynchronous nature of these interactions.

10:05

πŸ”§ Benefits of Message Queuing

Jamil outlines the benefits of using message queuing, focusing on decoupling as the primary advantage. He explains that decoupling allows for separate components of an application to operate independently, which simplifies development and maintenance. It also enables scalability by allowing specific parts of an application to be scaled based on demand without affecting the entire system. Jamil suggests that decoupling can lead to more efficient resource allocation and the ability to use different technologies or languages for different parts of an application, based on their specific needs.

15:06

🌟 Closing Thoughts on Message Queuing

In the final paragraph, Jamil wraps up the discussion by emphasizing the importance of message queuing in modern cloud-native architectures. He encourages developers, both new and experienced, to consider message queuing as a technique to enhance their application's architecture. Jamil invites viewers to share their experiences and questions about implementing message queuing and ends the video with a call to action for likes and subscriptions for more content like this.

Mindmap

Keywords

πŸ’‘Message Queuing

Message Queuing is an architectural technique that facilitates asynchronous communication between different parts of an application or different applications altogether. It allows for the decoupling of processes, enabling them to operate independently and communicate through messages that are queued for processing. In the video, Jamil Spain explains that message queuing is essential for modern applications that need to handle operations that don't require immediate processing, thereby enhancing the application's ability to scale and manage different workloads efficiently.

πŸ’‘Asynchronous Communication

Asynchronous communication refers to a communication model where the sender of a message does not need an immediate response from the receiver. This allows for operations to be processed independently of each other, without waiting for a response. In the context of the video, Jamil uses email as an analogy to explain asynchronous communication, where a message is sent and the sender can proceed with other tasks without waiting for the receiver to process or respond to the message.

πŸ’‘Queue

A queue, in the simplest form, is a line of items that are processed sequentially. In the realm of message queuing, a queue holds messages in the order they are received and delivers them to the intended recipient. Jamil Spain describes a queue as a mechanism that ensures messages are processed in a first-in, first-out (FIFO) manner, which is crucial for maintaining the order and integrity of message processing.

πŸ’‘Producer

In the context of message queuing, a producer is an entity that generates and sends messages to a queue. The producer is responsible for creating the message and placing it into the queue for later processing. Jamil Spain mentions that in a web form scenario, the form data can be transformed into a message by the producer, which is then placed on a queue for eventual processing, such as data insertion into a database.

πŸ’‘Consumer

A consumer, in message queuing, is an entity that receives and processes messages from a queue. The consumer is at the other end of the communication channel, waiting to receive and act upon the messages that have been queued. Jamil Spain illustrates this concept by describing how a consumer might process messages from a queue to perform tasks such as updating a database or triggering marketing automation workflows.

πŸ’‘Decoupling

Decoupling in software architecture refers to the practice of separating the functionality of an application into distinct components that operate independently. This allows for easier maintenance, scalability, and the ability to update or replace parts of the system without affecting others. In the video, Jamil Spain emphasizes the importance of decoupling in microservices architecture, where message queuing plays a key role in allowing different services to communicate without being tightly bound to each other.

πŸ’‘Scalability

Scalability is the ability of a system to handle increased load or to be expanded to accommodate that growth. In the video, Jamil Spain discusses how message queuing contributes to scalability by allowing different parts of an application to scale independently based on demand. This is particularly useful in cloud-native architectures where different services may need to scale up or down to meet varying workloads.

πŸ’‘Point-to-Point

Point-to-point messaging is a communication pattern where a message is sent from one producer to one consumer. This is a direct communication model where the message is intended for a specific recipient. Jamil Spain uses the example of a web form submission being turned into a message by the producer and then processed by a specific consumer, such as a service that inserts the data into a database.

πŸ’‘Publish-Subscribe (PubSub)

Publish-Subscribe is a messaging pattern where a message is sent by a producer to multiple consumers who have expressed interest in the topic of the message. This pattern is useful for broadcasting messages to various parts of an application that need to react to the same event. In the video, Jamil Spain describes how a new customer sign-up or an e-commerce order can trigger multiple actions across different services, such as accounting, shipping, and notifications.

πŸ’‘Request-Reply

Request-Reply is a messaging pattern where a message is sent from a producer requesting some action or information, and the consumer processes the request and sends a response back to the producer. This pattern is akin to a two-way communication where the producer awaits a reply after making a request. Jamil Spain explains this concept by describing how a producer might send a request for information, the consumer processes it, and then the producer receives a response with the processed data.

Highlights

Introduction to message queuing as an architectural technique for asynchronous communication.

Historical context where applications were expected to process everything immediately.

Expectation of instant response in REST API calls and the challenges it presents.

The concept of breaking applications apart using message queuing for better architecture.

Definition and explanation of asynchronous communication in application development.

The role of message queuing in allowing applications to function independently.

Explanation of the term 'message' in message queuing, referring to data transmission.

Definition of 'queue' and its function in holding messages in order for processing.

Analogy of email as an example of asynchronous communication and message queuing.

Different types of messages and their formats in message queuing systems.

The producer and consumer roles in message queuing.

Point-to-point messaging pattern for direct communication between applications.

Publish-subscribe (PubSub) model for broadcasting messages to multiple consumers.

Request-reply pattern for handling messages that require a response.

Benefits of message queuing including decoupling and scalability.

How decoupling enables teams to work independently and enhances application scalability.

The flexibility of language choice and technology stack in a decoupled application architecture.

Message queuing as a gateway to cloud-native architecture and its relevance for new and existing developers.

Encouragement for developers to consider message queuing in their architectural designs.

Transcripts

play00:00

Hello, my name is Jamil Spain,

play00:02

Developer Advocate with IBM Cloud,

play00:04

and my topic for today is

play00:07

Message Queuing.

play00:09

Now, as a technologist, when I first

play00:10

started out developing applications,

play00:12

there was an expectation that in my

play00:14

code that applications would

play00:16

process everything immediately.

play00:18

And even when I first started

play00:20

dealing with REST APIs, there's

play00:22

really the expectation that I make a

play00:25

front end, makes a rest call to a

play00:26

backend through to a REST API call

play00:29

that you're expecting a response to

play00:31

come back. Some type of response

play00:32

code must go back to let me know

play00:34

404 was not good, 200

play00:36

it was good.

play00:38

But again, there's that expectation

play00:39

that things happen instantly, and I

play00:41

get instant confirmation that

play00:43

something is happening.

play00:44

And often I wrote a lot

play00:46

of code to

play00:48

accommodate situations where

play00:50

that communication could not happen

play00:52

or did not

play00:54

function properly there.

play00:56

But today's topic kind of branches

play00:58

out through that.

play00:59

Let's deal with break down what the

play01:01

term message queuing actually means

play01:03

here. So overall, from a

play01:05

thirty thousand foot view,

play01:07

it's a definitely a architecture

play01:09

technique that allows you to

play01:11

break applications apart.

play01:17

Apps apart.

play01:20

With what we like to call

play01:22

asynchronous communication.

play01:29

I'll abbreviate that there.

play01:30

So asynchronous communication.

play01:32

So I want my particular

play01:34

applications to or particular

play01:36

subsets to still function

play01:38

and not worry about the other parts

play01:40

there versus the

play01:41

other part where all my code

play01:43

was in one stack, and

play01:46

in only in a monolithic application

play01:48

or when I built an application where

play01:50

all the functionality exists

play01:52

that, you know, one

play01:54

set of functions and one set of code

play01:55

on my application.

play01:57

I'm just always handling a

play01:58

transaction off to another set of

play02:00

code. But there is an expectation

play02:01

that things follow through and

play02:03

process right then.

play02:04

There's no way to really kind of

play02:05

delay things to happen later.

play02:07

And this is what message queuing is

play02:08

all about. Well, let's break down

play02:10

the first part here.

play02:11

First, let's deal with the

play02:13

word message.

play02:19

And as it did denotes that

play02:21

it is really something

play02:24

that a piece of

play02:26

information that wants to get

play02:27

processed from one system to

play02:29

another, an application

play02:31

will just say subsystem for me as

play02:33

well, kind of denoted by

play02:36

with that particular piece.

play02:37

So you have data

play02:40

that needs to get

play02:50

transmitted. Now this could be

play02:52

actual data payloads, actual

play02:54

files, it could

play02:56

be metadata that that reference

play02:58

is that something should happen on

play02:59

the other in.

play03:01

So many different types

play03:04

of data

play03:07

formats can be there.

play03:10

All right. And then we have the word

play03:12

queue.

play03:16

Which queue in the most simplest

play03:17

form refers to kind

play03:19

of a line of things that a process

play03:21

sequentially.

play03:22

So when you think of a message

play03:23

queue, you think of the messages

play03:25

of coming into a queue

play03:27

as a way that kind of holds the

play03:28

messages in the order they are

play03:29

received and delivers them

play03:31

to the actual party.

play03:33

So one way to think about this,

play03:35

I know this kind of explained

play03:37

message, explained queuing,

play03:39

explained the overall, but think

play03:40

about a tool that everyone uses

play03:43

every day, email.

play03:45

Email is an excellent example

play03:47

of asynchronous communication

play03:49

and how that works.

play03:50

I can, theoretically or

play03:52

not, theoretically, actually in

play03:53

reality, in real life,

play03:55

I send a message out, but

play03:57

I can wait for a response later.

play03:59

It goes into an inbox.

play04:01

Think of that inbox, your email

play04:02

inbox as a queue of messages

play04:04

that are held there.

play04:06

And at some point the

play04:08

person is going to receive it

play04:10

has the opportunity to look at it

play04:12

whenever they want, if they take a

play04:14

longer time, there's a larger list

play04:17

that has accumulated of messages

play04:18

that you have to read, which is

play04:20

usually the case when I go through

play04:21

some of my email email boxes,

play04:24

or for ones that I check constantly,

play04:26

like, say, for instance, your work

play04:28

email, you always constantly

play04:30

going through the list that you're

play04:31

there waiting to kind of reply

play04:32

back. But excellent example

play04:35

of asynchronous.

play04:36

I can really fill out an email,

play04:37

compose it, send it off.

play04:39

I'm not worried about whether you

play04:40

received it or when you answer it,

play04:41

but I can move on to something else.

play04:43

All right, so perfect example of

play04:45

asynchronous, and we'll carry that

play04:46

example through as

play04:48

well to some of the use cases

play04:50

here.

play04:51

So we talk through those,

play04:53

let's talk about the type of

play04:54

messages that occur.

play04:55

So we've mentioned queue, which is a

play04:58

line

play05:00

of messages.

play05:03

So if I were to draw this out

play05:06

in this perspective here, let's do

play05:08

it this way, let's

play05:09

take this green as the queue.

play05:15

And they also say that each one of

play05:16

these is going to be an actual

play05:18

message.

play05:22

And so at some point you're going to

play05:23

have the...

play05:27

They're going to send the kind of

play05:28

the message here.

play05:29

And then at the other end,

play05:35

somebody is going to open it up.

play05:38

Get a little envelope there.

play05:39

All right, a little artwork here.

play05:41

So the person that's putting the

play05:42

message on is going to be what's

play05:43

known as the producer.

play05:47

And then the person consuming the

play05:49

message is the consumer.

play05:52

So these are often the two profiles

play05:54

or roles that you can take.

play05:55

And of course, you can be the

play05:57

producer one time and be the

play05:58

consumer on another example.

play06:00

So this one pattern here that you're

play06:02

looking at is more like a

play06:04

point to point.

play06:05

I am setting it for one application

play06:07

to the other.

play06:08

All right.

play06:10

It could be a

play06:12

let's say I have a web form

play06:14

and you're filling out, and as you

play06:16

complete the web form, I take the

play06:17

metadata from that form, JSON

play06:19

object, I could put that on a queue

play06:21

to be processed later to be inserted

play06:23

into a database, to be

play06:25

inserted to another system for

play06:27

marketing automation, whatever

play06:29

it may be the use case.

play06:30

The point is that I have, I need

play06:32

messages to guarantee delivery to

play06:34

get there and not

play06:36

be dependent upon you, submit

play06:37

the form, I send it back to that

play06:39

other system and get a response

play06:40

back.

play06:41

I can keep ingesting particular

play06:44

messages, forms and middles and

play06:46

keep loading those in to go from

play06:47

there. So when you have these kind

play06:49

of use cases, these are excellent

play06:51

things. They should read out that

play06:53

hey, instead of me just doing direct

play06:55

http connection, let me think of a

play06:57

message queuing pattern that

play06:59

I could facilitate to go here.

play07:01

So we'll call this point to point.

play07:03

The next one is something

play07:05

like a publish, publish

play07:08

subscribe.

play07:09

Also abbreviated as PubSub

play07:11

that you will hear and this works

play07:13

from the capability that I have

play07:15

a producer.

play07:19

Let's go back to the green, I'll do

play07:21

another queue, and we'll do

play07:23

more messages that come in.

play07:26

So on the PubSub model,

play07:28

I'm going to have

play07:31

multiple

play07:33

parties or applications that

play07:35

are interested in getting

play07:37

this message

play07:39

as it comes through.

play07:44

All right, so pub, publish

play07:46

subscribe, so these consumers

play07:48

are listening for this particular,

play07:49

I'll call it a channel or interested

play07:51

in this particular thread of

play07:53

messages that may come across.

play07:54

So it could be that new customer

play07:56

signs up, you may want to send

play07:58

something to

play08:00

for a new order, eCommerce order

play08:02

comes in. You may want to send

play08:03

something to accounting for an

play08:04

invoice to go out.

play08:06

You may want to send something to

play08:07

the shipping or notifications

play08:10

for stock or, you know,

play08:11

any multiple things

play08:14

that you want to kind of get

play08:15

through. That could be something you

play08:16

can shoot out to kind of go.

play08:18

And the last one I'll work through

play08:20

is what we like to call

play08:22

request-reply reply-requests.

play08:25

It's done from the standard that you

play08:26

have a producer

play08:31

that's going to send out

play08:35

a message.

play08:37

All right.

play08:38

Let me redraw this again really

play08:40

fast here.

play08:41

I got messages that I'm going to put

play08:43

in.

play08:45

OK.

play08:47

And so this could be

play08:49

one way, they have could have one

play08:51

channel.

play08:59

All right. So there could be one

play09:01

way where they want to go out,

play09:04

someone who consume it.

play09:06

I could put a request out,

play09:09

someone gets it, does some

play09:11

processing.

play09:12

But the response to that that they

play09:13

want to do, I'm going to also

play09:15

be listening on

play09:17

another queue

play09:23

for a response to that.

play09:25

So that could be now that all of

play09:27

a sudden

play09:31

where they are reading this request

play09:32

that comes through that they could

play09:34

put the resulting workload

play09:36

or whatever computation that they're

play09:37

doing, whatever algorithm that must

play09:39

be done.

play09:40

Say, for instance, maybe you're

play09:43

some of those patterns where you

play09:44

want to put your information in and

play09:46

look at all the offers that are out

play09:48

there. It could be a actual search

play09:50

to go out and get all this

play09:51

information. Compile that back

play09:53

to maybe a list of object,

play09:55

that information comes back and

play09:57

then I'm listening, the producer is

play09:58

also listening to another queue

play10:00

to say, "Oh, the response

play10:02

is ready." And then

play10:04

it takes that information and then

play10:05

presents it. So you have

play10:08

point-to-point.

play10:09

All right, this is a Pub.

play10:13

PubSub and then more of a

play10:19

request and reply.

play10:20

All right. So a different type of

play10:22

messaging pattern that can occur.

play10:24

And again, I love to kind of think

play10:26

through things from a backwards

play10:27

perspective.

play10:28

It's really about as a technology.

play10:29

Isn't it a solution architect?

play10:31

Sometimes you want to put your hat

play10:32

on where you say,

play10:34

"What is my intent?

play10:36

What do I need to happen?" And that

play10:37

really drives what particular piece

play10:39

of technology can drive

play10:41

that particular component here.

play10:43

All right. So three patterns we

play10:45

identify message queuing.

play10:46

Let's wrap it up with the benefits

play10:48

naturally of why you want to

play10:50

facilitate or go through the effort

play10:52

to orchestrate something like this.

play10:55

And I like to bring this down to

play10:57

two major

play10:58

particular pieces here.

play11:00

The first,

play11:03

decoupling.

play11:06

All right, it looks like an N, but

play11:07

it's really an I in an N, all right.

play11:09

Trust me there.

play11:10

All right. So decoupling here.

play11:11

So what this allows me to do,

play11:13

we mentioned the first part about

play11:15

breaking applications apart.

play11:18

It allows me now to have

play11:20

separate items that can

play11:22

occur. So I can,

play11:24

in going along what we like to call

play11:25

the microservice pattern,

play11:27

responsibility pattern, I can

play11:28

dedicate one particular piece

play11:30

of code application

play11:32

to just be responsible

play11:34

for that one piece of work.

play11:36

All right.

play11:37

And if I was in a monolithically

play11:39

kind of code base, I

play11:41

would have to progress things all at

play11:43

one time. If I wanted to just work

play11:45

on my payments module, I

play11:47

would also have to test everything

play11:48

to make sure how that affects other

play11:50

parts here.

play11:51

Well, and this particular piece,

play11:53

let's see, I just wanted the web

play11:54

front end to be the web front end.

play11:56

I don't want you to handle a lot of

play11:57

the processing and doing all

play11:59

the database connections from there.

play12:01

I'll let other systems do that part,

play12:03

or they can be very well at just

play12:05

connecting to my database,

play12:06

connecting to my services and my

play12:08

systems of record, anything in that.

play12:10

So, decoupling allows you to really

play12:12

separate things up, where

play12:14

apps

play12:16

can just be

play12:20

apps, you know, just

play12:22

perform their particular job

play12:24

here as well.

play12:25

And naturally,

play12:27

that will

play12:31

enforce scalability in your

play12:33

application, because now

play12:36

you have apps that are decoupled,

play12:37

you have teams that can work on

play12:39

applications, I can think about my

play12:40

application much simpler.

play12:42

I may have one component that I want

play12:44

to work on at a time while the other

play12:46

is guaranteed to function

play12:48

as is. And also it

play12:50

allows me to add more resources to

play12:51

certain parts.

play12:52

As we mentioned in the other use

play12:54

case earlier, where I have a web

play12:55

form that wants to maybe

play12:57

handle a lot of high traffic of

play12:59

submitting on my front end may have

play13:01

a lot, but I may want to wait

play13:03

before I process a lot

play13:04

of that on the backend and not have

play13:06

that immediate.

play13:07

I may want to put it through more

play13:08

checks, maybe more detection,

play13:10

maybe more actual code

play13:12

to detect for any of these things

play13:14

or the use cases are really numerous

play13:16

here. I'm trying to simplify down

play13:18

to some something simple that we can

play13:20

digest here, but

play13:22

this allows me to have some things

play13:24

that can scale out to meet demand

play13:26

without having to

play13:29

scale the whole application up.

play13:31

So I immediately get that piece

play13:32

here.

play13:33

And so from a perspective of

play13:35

processing of data,

play13:42

this is great for me.

play13:43

And I can also,

play13:46

evolve other sections of my

play13:48

code to work better, scale faster.

play13:51

I want to swap out different

play13:53

components.

play13:54

All right.

play13:55

And even in my decoupling.

play13:57

Whereas before monolithically,

play13:59

I probably am writing everything in

play14:01

one language because it's all one

play14:03

single code base.

play14:04

Decoupling gives me the ability to

play14:06

maybe lean on other languages for

play14:08

a certain expertise.

play14:09

I may have my front end in a Java,

play14:11

but my back end may be in a

play14:13

Node.js or any other language,

play14:15

Python, I can take advantage of

play14:17

many different other benefits of the

play14:19

language you can offer.

play14:20

Because again, it's all about the

play14:22

single responsibility of work that

play14:24

they must achieve here.

play14:26

So, to summarize

play14:28

it all, message queuing, it's

play14:30

definitely for the new developer.

play14:32

It is something to consider

play14:34

from an architectural perspective of

play14:35

what you want to achieve.

play14:37

For our existing developers, I

play14:39

started out as a LAMP and a MEAN

play14:40

developer myself, started

play14:42

out for monolithically moved in the

play14:44

HTTP communication between services.

play14:47

And this is definitely a technique

play14:48

that I have embraced in my

play14:50

hybrid architecture to say there are

play14:52

some circumstances when these

play14:53

patterns resonate with me.

play14:55

I'm like, "yes, that would fit

play14:56

perfectly to work." Definitely,

play14:58

if you're getting in the cloud

play14:59

native being that we have

play15:01

things that are decoupled

play15:03

or at the part that you need

play15:06

many different pieces to function

play15:07

together to connect them together,

play15:09

message queuing is a great

play15:11

segue way to get you immediately

play15:12

there in the cloud native world.

play15:14

So definitely a great technique

play15:16

to try here.

play15:18

Hope this video was useful.

play15:19

I can't wait to hear how you are

play15:21

going to implement message queuing

play15:23

in your architecture.

play15:24

Thank you for your time.

play15:26

If you have questions, please drop

play15:28

us a line below.

play15:29

And if you want to see more videos

play15:32

like this in the future, please

play15:34

like and subscribe.

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Message QueuingAsynchronousIBM CloudDeveloper AdvocateApp ArchitectureDecouplingMicroservicesScalabilityTech InnovationCloud Native