reading-notes

this repo will contain my reading during the course .

View project on GitHub

Class 14 Reading: Event Driven Architecture

img

Review, Research, and Discussion

What’s the difference between a FIFO and a standard queue?

FIFO queues have essentially the same features as standard queues, but provide the added benefits of supporting ordering and exactly-once processing. FIFO queues provide additional features that help prevent unintentional duplicates from being sent by message producers or from being received by message consumers source

How can the server be assured a message was properly received?

TCP/IP cannot guarantee that all data that have been sent will also be received. But even if it would guarantee it that is not what you need. What sender actually needs is to know if it does not have to send data again, and that usually implies if sent data has been processed on receivers side. If sender needs to know this then communication protocol must be changed so that sender can receive a confirmation by the receiver that it can safely assume that data has been processed. Also, sender must at certain point proclaim a time-out (and close the socket) if receiver did not send back the confirmation on time (and in your code you must decide what to do about it, maybe save data to be sent at later time, or raise an alert to the user). Also receiver must handle the situation where the same data is being sent twice (as last item in previous connection, and as another item in new connection) and not treat this data as two distinct pieces of data. source

What classic design pattern is best represented by event driven programming?

observer pattern source

How do you test an event driven system?

Event-driven application architecture provides a lot of power. But it also creates challenges for test practitioners. However, the good news is that these challenges are well-known. Companies that are successful in testing event-driven application architecture understand the asynchronous nature of the paradigm. They weave aggregated logging and distributed tracing into every level of test activity, from unit testing to system-wide performance testing. source

Document the following vocab words

FIFO Queue: first in first out queue

Pub/Sub: Pub/Sub is an asynchronous messaging service that decouples services that produce events from services that process events. source

Preview

Which 3 things had you heard about previously and now have better clarity on?

Outside of AWS, SNS and SQS are new terms for me. After watching the video, they did hit on terms that I am familiar with after the last few lectures: Pub/Sub, queues

Which 3 things are you hoping to learn more about in the upcoming lecture/demo?

Interested in how the AWS is going to pull into this. Also they hit on a term like Lambda that I’m interested in seeing more information on that.

What are you most excited about trying to implement or see how it works?

Queuing system and messages outside of the console!