Reactive Architecture: Introduction to Reactive Systems Quiz Answers

Get Reactive Architecture: Introduction to Reactive Systems Quiz Answers

This course teaches the core principles behind Reactive Architecture. It introduces students to why we need Reactive Systems, and what problems they are trying to solve. It also contrasts Reactive Architectures with Reactive Programming, showing how they relate, and how they are different.

Enroll on Cognitive Class

Why Reactive Review

Question: What is a software landscape problem that reactive architecture is addressing?

  • Modern systems need a way to provide asynchronous streams of data with non-blocking backpressure.
  • The scale of modern systems far exceeds that of legacy systems, consisting of hundreds or even thousands of nodes.
  • Programming languages used to be more fundamental (C for instance) and required developers to spend long hours focused on writing long complex code. Today programming languages are abstract and declarative. Developers can write code easier and thus react to new reqs more nimbly.
  • Web applications need flexible and powerful javascript front ends. Reactive JavaScript does this.

Question: What do we mean by “data at rest”?

  • The data is exposed through a REST api to be consumed be external services.
  • The data is not consumed at the time it is injested. It is stored, and then consumed later in a batch process.
  • The data is no longer needed for any analysis or access. Another name for this is “archived data”.
  • It means that the data is not accessible all the time. Processes that need access to that data may have to schedule access.

Question: What do we mean by streaming data?

  • Streaming data can be in two file formats: “rstone” or “driftw.”
  • A firehose of data. Data can flow through the system at any time with no upper bound on the amount of data.
  • Like water, it can flow through a system through predefined paths, but it can also “spill” unpredictably into other parts of the system.
  • It always represents an audio or video stream and deals with topics such as buffering, bitrates etc.

Question: Users of modern web based software expect:

  • That the software will be available when they need it. There is no downtime.
  • To save their work frequently and locally because the system crashes a lot.
  • All software is free except that they need to click on an ad at least once an hour.
  • To have their personal data not tracked and discarded.

Question: True or False: Reactive Architecture is all about trying to solve technical problems (Eg. how to scale). It does not concern itself with how those solutions impact the end users.

  • True
  • False

Question: Case Study: History of the Reactive BBQ

Question: True or False: This is a company that has had to deal with a change in user expectations?

  • True
  • False

Question: True or False: This company has not had to deal with changes to the technical landscape over the years.

  • True
  • False

Question: Based on the description from the CEO do you think this system is based on a monolithic style (single deployed application covering all areas of the business), or microservices (independent applications for each area of the business)?

  • Monolithic
  • Microservices
  • Unclear

Question: Which of the following portions of the business are controlled by the central software.

Note: Make sure you select all of the correct options—there may be more than one!

  • Payments
  • Customer Loyalty
  • Orders
  • Reservations
  • Inventory Management
  • Menu

Question: Which of the following system components does the online customer interact with directly?

Note: Make sure you select all of the correct options—there may be more than one!

  • Inventory Management
  • Kitchen
  • Orders
  • Reservations
  • Menu

Case Study: The Unresponsive BBQ

Question: Which of the following problems is the host experiencing?

Note: Make sure you select all of the correct options—there may be more than one!

  • The system is inconsistent, sometimes saying there is no reservation, when the Customer says there is.
  • The system has incorrect information about a reservation (such as the wrong time, or location)
  • The system is slow causing wait times for both the Host and the Customer.
  • The system is crashing so the host can’t locate a Reservation.

Question: The host is experiencing delays, and crashes, in the system. These appear to occur:

  • When the restaurant is busy.
  • On certain days of the year (eg. Mother’s Day).
  • When the restaurant is slow.
  • Randomly. There is no observable pattern.

Question: Which of the following problems is the server experiencing?

Note: Make sure you select all of the correct options—there may be more than one!

  • The system is losing orders so they don’t get picked up by the kitchen.
  • The kitchen is getting incorrect order information, resulting in mistakes.
  • Items on the menu are incorrect, creating confusion with the customers.
  • The servers are not notified when an order is ready to be served.
  • The system can be slow causing servers to line up.

Question: When problems occur, the servers sometimes try to work around the system by talking directly to the kitchen. This shows that the servers are:

  • Frustrated by a system that doesn’t meet the requirements of their job.
  • Confused about how to use the system effectively.
  • Probably better off not using the system.
  • Jerks.

Question: Which of the following problems is the customer experiencing?

Note: Make sure you select all of the correct options—there may be more than one!

  • They are unable to pay for orders because the payment system is down.
  • They are being charged an incorrect amount for an order.
  • They are struggling to create orders because the website is too slow.
  • They are unable to create orders because the website is unavailable.
  • Their Reservations can’t be retrieved because the system is unavailable.

Question: When the customer experiences a problem with the online ordering system they will do the following:

Note: Make sure you select all of the correct options—there may be more than one!

  • Call the restaurant instead.
  • Visit the restaurant in person.
  • Cook dinner at home.
  • Order from a competitor.
  • Wait for the system to come back online.

The Goal Review

Question: Starting out, we expect a small user base of about 25 concurrent users. However, we expect our user base to grow significantly in the first year. True or False: In the beginning, we don’t need to design a system for our future user base.

  • True
  • False

Question: Our business has a typical load of 500 concurrent users throughout the year. However during the year end retail season this number spikes up dramatically, as high as 5000 concurrent users. Our goal is to:

  • Allow the system to fail if it can’t handle the load.
  • Build the system so we can deploy additional hardware for the peak season, and then release or repurpose that hardware after the peak is over.
  • Worry about it when the next peak comes.
  • Deploy enough hardware to handle peak load at all times of the year. Outside of the peak periods, that hardware will be idle or only partially utilized.

Question: Given user reliance and expectations of modern web based software what is a good objective when it comes to system failures?

  • We will design a system that is bulletproof. We will cover all the failure cases and ensure that they can’t happen. The system will be built so that no failures ever occur.
  • Failure in systems is inevitable. Our goal should be to design systems that handle those failures gracefully. We accept that failure is a fact of life, and we build a system that will lessen the impact of those failures on the users. The system should continue to provide some functionality despite failures.
  • Failure in systems is inevitable. It may not be good for users, or the business, but it will happen no matter what we do to stop it. We should accept that failure is a fact of life and just deal with it when it happens.
  • Do or do not. There is no try.

Question: True or False: It is unreasonable to assume that a system should be able to scale to hundreds or thousands of nodes.

  • True
  • False

Question: True or False: Designing my system to run across tens, hundreds or even thousands of machines can help minimize the impact of failures on my users.

  • True
  • False

Question: True or False: I need to sacrifice either system scalability or responsiveness to users in my software system. I can’t have both as goals.

  • True
  • False

The Reactive Principles Review

Question: What are the Reactive Principles?

  • Responsive, Resilient, Scalable, Event Driven
  • Responsive, Resilient, Elastic, Message Driven
  • Readiness, Reactive, Cloud-based, Message Driven
  • Responsive, Readiness, Elastic, Managed

Question: Why was the Reactive Manifesto created?

  • Because business analysts see the need for systems that are modern.
  • Because multiple companies were developing similar solutions to modern problems.
  • Because developers want to write distributed computing software.
  • Because the Surrealist Manifesto, written in 1924, is a little dated.

Question: Which one of the four Reactive Principles represents our primary end goal?

  • Elastic
  • Responsive
  • Message Driven
  • Resilient

Question: True or False: Elastic means we are always scaling up.

  • False
  • True

Question: True or False: Messages in the Reactive Manifesto can be either synchronous blocking or asynchronous non-blocking.

  • False
  • True

Question: Resilience means failures:

  • Are isolated to a single component in the system.
  • Are logged and then propagated to the user.
  • Always cause the system to restart.
  • Never happen.

Question: True or False: Elasticity means we sacrifice responsiveness during a sudden and dramatic increase in load.

  • False
  • True

Question: True or False: Scaling down when user load decreases usually results in decreased costs.

  • False
  • True

Question: Non-blocking messaging means:

  • The sender will keep trying to send a message no matter how often the rest of the system blocks it from doing so.
  • The message recipient always acknowledges the message receipt to the sender.
  • After sending a message, the sender doesn’t have to wait for a reply from the recipient before doing other work.
  • The message recipient can always see the sender.

Case Study: Reactive Principles in Action

Question: This is an example of which of the Reactive Principles?

  • Message Driven
  • Elastic
  • Resilient
  • Responsive

Question: This is an example of which of the Reactive Principles?

  • Message Driven
  • Resilient
  • Elastic
  • Responsive

Question: This is an example of which of the Reactive Principles?

  • Elastic
  • Responsive
  • Resilient
  • Message Driven

Question: This is an example of which of the Reactive Principles?

  • Resilient
  • Message Driven
  • Elastic
  • Responsive

Reactive Programming Review

Question: Reactive Systems apply the Reactive Principles at the:

  • Architectural level.
  • Level of classes and functions.
  • Team organization level.
  • Network communication level.

Question: True or False: Reactive Programming techniques such as Futures/Promises cannot be used to build Reactive Systems.

  • False
  • True

Question: True or False: In a Reactive System, the primary form of communication between major parts (eg. Microservices) should be synchronous.

  • False
  • True

Question: True or False: Reactive Programming must be responsive, resilient, elastic and message driven.

  • False
  • True

Question: A Reactive System, at a minimum, must be deployed to:

  • Two or more data centers.
  • A cluster of machine nodes.
  • One machine node.
  • It doesn’t matter.

The Actor Model Review

Question: True or False: Communication between Actors is blocking and synchronous.

  • False
  • True

Question: True or False: The Actor Model enables elasticity and resilience.

  • False
  • True

Question: The Actor Model is implemented in:

  • ReactJS
  • Spring
  • Akka
  • Struts

Question: True or False: When people talk about The Actor Model, they are always talking about Akka.

  • False
  • True

Question: True or False: In the Actor Model, computation can occur inside and outside of Actors.

  • False
  • True

Question: Location transparency enables Actors to be both:

  • Consistent and Available.
  • Resilient and Elastic.
  • Performant and Persistent.
  • Managed and Available.

Question: An Actor doesn’t care if it communicates with another Actor locally or remotely. It accomplishes this because:

  • All Actors in a Reactive System exist on a single machine node, thus all communication is local.
  • All communication between Actors is treated as remote communication, regardless of the location of the actor.
  • Each Actor has the address of all other Actors.
  • None of the above.

Question: Transparent Remoting:

  • Makes remote calls look like local calls.
  • Means you have to assume remote failure scenarios can occur, such as network failures.
  • Makes local calls look like remote calls.
  • Assumes you are always making remote calls.

Question: Location Transparency:

  • Makes remote calls look like local calls.
  • Hides potential failure scenarios, such as network failures.
  • Makes local calls look like remote calls.
  • Hides the fact that you are making remote calls.

Question: It’s possible to build a Reactive System without using the Actor Model just using various Reactive Programming techniques (such as Futures/Promises, Streams). What are some additional infrastructure pieces you might need to make an application using Reactive Programming techniques into a fully Reactive System?

  • Service Registry, Message Bus
  • Authentication Server, NoSQL storage
  • DMZ Firewalls, Network Switches
  • None of the above.
Conclusion:

We hope you know the correct answers to Reactive Architecture: Introduction to Reactive Systems If Why Quiz helped you to find out the correct answers then make sure to bookmark our site for more Course Quiz Answers.

If the options are not the same then make sure to let us know by leaving it in the comments below.

Course Review:

In our experience, we suggest you enroll in this and gain some new skills from Professionals completely free and we assure you will be worth it.

This course is available on Cognitive Class for free, if you are stuck anywhere between quiz or graded assessment quiz, just visit Queslers to get all Quiz Answers and Coding Solutions.

More Courses Quiz Answers >>

Building Cloud Native and Multicloud Applications Quiz Answers

Accelerating Deep Learning with GPUs Quiz Answers

Leave a Reply

Your email address will not be published.