Assignment 1

Deadline: Wednesday February 12, 2020 6:40pm

Introduction

Please answer the questions precisely and concisely. Every question can be answered in one or at most a few sentences. I will not have the patience to read long paragraphs or essays and you may lose credit for possibly correct answers.

Submission

Please submit your assignment prior to the due date & time via canvas.

Note: submissions must be plain text or PDF files or text entry within Canvas. Other formats, such as Microsoft Word, Apple Pages, or Adobe InDesign will not be accepted.

Reading

Introduction to Distributed System Design
Google Code University
Google Code University is no longer supported by Google but this cached introduduction to distributed system design is still relevant. This short document provides a brief overview of fault tolerance, the network stack, remote procedure calls, and challenges in distributed system design. You need to read this for questions 1–3.
Google’s gRPC: A Lean and Mean Communication Protocol for Microservices
Janakiram MSV, TheNewStack, September 9, 2016.
An article that introduces Google’s gRPC. You need only read the firest three pages, up to Getting Started with gRPC (unless you want to try the examples!).
What is gRPC?
grpc.io official documentation
A really brief overview of what gRPC does - about two pages.
RESTful Web Services: A Tutorial
M. Vaqqas, Dr. Dobb’s, September 23, 2014.
You need to read this for the last two questions.

Questions

Question 1.  

How does an omission failure differ from a general network failure?

Question 2.  

Halting failure and fail-stop are terms that are often used interchangeably. What is the distinction between them?

Question 3.  

When is it preferable to use UDP over TCP?

Question 4.  

How does caching differ from replication?

Question 5.  

Why did Google create gRPC?

Question 6.  

RESTful Web Services use HTTP to request operations and provide parameters, rather than embedding the entire nature of the request in the message body. For normal web interactions, our browsers use the following HTTP methods:
GET: request a web page
POST: submit a form, send data to a server

What six HTTP methods are used in RESTful services and what does each one do?

Question 7.  

What is the main distinction between the use of a PUT and a POST operation in REST interfaces?

Last modified January 13, 2024.
recycled pixels