title: MICROSERVICES - communication between them
body: <p>I've got one question concerning microservices architecture. I am designing a system based on microservices. I've read few articles and I think I understand the idea. However, I don't how microservices should communicate with each other while they have separate business responsibilities....
  What I mean is that if I have a system for booking train tickets, I would divide backend application into modules: </p>
  
  <ul>
  <li>Client (login,logout,registration) </li>
  <li>Reservations (booking a train seat for user,getting all reservations for user) </li>
  <li>ConnectionsDetails
  (searching for connections,getting connection details) </li>
  <li>Trains
  (information about trains- seats number,class etc.)</li>
  </ul>
  
  <p>Now, I can only think that if user search for connections module ConnectionsDetails communicate with Trains module and ask about particular train details. But how could other microservices communicate? If user wants to login - she/he asks directly Client module, if she/he wants to get all her reservations - asks Reservation module DIRECTLY etc... </p>
  
  <p>So my question is, how should modules communicate if they do different things? I'm sorry if my question is trivial or stupid, I'm just starting with microservices.</p>
  
  <p>EDIT:
  I didn't mean what tools could I use for communication. My question is about logic. In the example I showed, why one microservice could ask another microservice about sth if client can directly ask the another one? As I said earlier, how they should communicate(about what should they ask each other exactly) if they do separate things?</p>