title: Go-kit real world example with inter microservice data transfers
body: <p>I try to work with go-kit (gokit.io) and to build real-work application with it.
  I look through examples. These examples are great. But I do not understand how to do services to service communications / data transfers in go-kit framework. </p>
  
  <p>I can see "real-world" shipping app, but I do not understand how it could be "real world" micro-services. I can see in sources that, for example, they build the booking service just passing foreign repositories into service</p>
  
  <pre><code>type service struct {
      cargoRepository         cargo.Repository
      locationRepository      location.Repository
      routingService          routing.Service
      handlingEventRepository cargo.HandlingEventRepository
  }
  </code></pre>
  
  <p>and later they get data from repositories (this repository belongs to foreign micro-service) just calling the method:</p>
  
  <p><code>locationRepository.Find(...)</code></p>
  
  <p>Could someone please explain me:</p>
  
  <ul>
  <li>how to build micro-service to micro-service communications in go-kit framework? Just show me the way / pattern, please. I do not understand it at all.</li>
  </ul>
  
  <p>I see it as they just share direct access to data. But in real world micro-services, I expected that micro-services will communicate to each other to get needed data. And I do not understand how to do it in go-kit framework.</p>