8/9: MOM Flashcards

1
Q

what is an event and how does it relate to a message?

A

a message is a packet of data that says something jjust happened, such as a mouse click, button press, purchase, price change etc. at various levels of abstraction
a message is usually an event with more structure
for each “thing that happens” of interest, a component will produce an event and send it to the middleware. there is no feedback after that, they are not concenred with what happens next

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

how is an event different to an RPC/DO?

A

events fire and then continue, async.

RPC/DO are sync, they know if the call succeeds or fails

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what is an event channel?

A

a queue of messages that advertises events, routing them appropriately. components can receive events they should consume
can act as a buffer for events, if they are produced faster than they are consumed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

how does pubsub work?

A

producers publish events on chosen channels

consumers subscribe to channels of interest

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

describe 2 ways a component to know when events are available

A

pull - the component requests an event and blocks until one is available
push - the component provides an interface that the channel can call when an event is available

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

what are the risks of using a MOM?

A

the producers dont have any informations about their events being consumed
difficult to make sure that messages are consumed in the right order e.g m1 MUST be consumed before m2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what decisions need to be made in queue design?

A

size of the queue
does it expand?
do we let events drop?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what is QOS?

A
quality of service
things that arent specifid in the interface but are vital to the system function - do we drop message?
guarantee delivery
at least once delivery
at most once
best effort
How well did you know this?
1
Not at all
2
3
4
5
Perfectly