A very simple implementation of distributed system and service communication learn how things work at large.
$ make all
Now run these three services from separate terminals (in the exact order):
$ ./bin/registryservice
$ ./bin/logservice
$ ./bin/gradingservice