I m actually reading tones of articles concerning microservices architecture, but, it seems that they are dealing the things the easiest way possible, without going deeper i
a/
No, Service Registries like Zookeeper are in-memory guaranteeing high throughput and low latency.
b/
In Service Registries like Zookeeper you can make filesystem path like registering of services. For example /App1/Service1 and /App1/Service2
c/
Not really clear what is the problem is.
d/
The pattern recommended by somebody is the HATEOAS pattern which is recommended for API response.
e/
AMQP is only required when communication required in between Services. Should never directly call the API of another service directly from one service.
EDIT
c/
In that case you need to implement fallback logic. For example if a service is not available, times out or any other failure some actions need to be taken. Tools like Netflix's Hystrix helps to achieve this.
e/
The communication pattern must be symmetric not asymmetric. Just like below,
This pattern will enable loose coupling between microservices thus enabling flexibility.