[NSWI080] Online Lecture Information
Petr Tůma
petr.tuma at d3s.mff.cuni.cz
Thu Mar 26 15:12:11 CET 2020
Hello,
the materials for the upcoming lecture were updated on the web. The link for the online lecture is the same, https://matfyz.zoom.us/j/679458081, the start time is Friday March 27 at 10:40 CET.
Before class, please review the following points:
## Try gRPC Examples
Run the basic examples from https://github.com/d-iii-s/teaching-middleware/tree/master/src/grpc-basic-server
and the stream examples from https://github.com/d-iii-s/teaching-middleware/tree/master/src/grpc-stream-server.
What is the difference between the basic examples and the stream examples ?
## Look Back at RPC
What is the difference between a remote procedure call and a remote method invocation ?
Think about partial failures in an RPC based application:
- Is it possible for either the client or the server to crash and the other side not notice (for some time) ?
- Is it possible for either the client or the server to restart and the other side not notice ?
Think about refactoring in an RPC based application:
- What if you need to add an argument to a function or a method ?
- What if you need to remove an argument of a function or a method ?
- What if you need to add a function or a method ?
- What if you need to remove a function or a method ?
- What if you need to change the definition of a type used as an argument ?
- What if you want to just rename things (arguments, functions, methods) without structural change ?
And what if you need to run versions before and after refactoring together ?
Can the client and the server execute concurrently ?
What do you have to do in code to make that happen ?
See you tomorrow, Petr
More information about the NSWI080
mailing list