title: Microservice architecture - manage referencedata and other common stuff
body: <p>We are designing a new microservice architecture based on an existing huge monolitic application. </p>
  
  <p>We read a lot of informations about how to design microservice and how they can communicate but I can t find any information about this "problem" : </p>
  
  <p>Let say that we have two microservices correctly bounded managing "Building" and another one managing "Person" ;  </p>
  
  <p>But, now we also have another microservice also bounded for managing "ReferenceData"  (like country, state, ...) and another one for managing "user preference". </p>
  
  <p>How can we manage that a person is "containing" a country (for the nationality) and a building also containing a country (for the address of it) ?</p>
  
  <p>When a user is calling one of the business microservice (Person or Building) can we do a simple sync HTTP call to retrieve the user preference ? may we seen it as an anti-pattern ? </p>
  
  <p>Can we put a definition of those "shared stuff" (c# class) on a shared assembly (.net) ? or is there any other best practice that need to be take into account ? </p>
  
  <p>Thanks, </p>