我尝试使用 go-kit (gokit.io) 并用它构建实际应用程序。我查看示例。这些例子很棒。但我不明白如何在 go-kit 框架中为通信/数据传输提供服务。
我可以看到“真实世界”的运输应用程序,但我不明白它怎么可能是“真实世界”的微服务。我可以在来源中看到,例如,他们构建的预订服务只是将外部存储库传递给服务
type service struct {
cargoRepository cargo.Repository
locationRepository location.Repository
routingService routing.Service
handlingEventRepository cargo.HandlingEventRepository
}
Run Code Online (Sandbox Code Playgroud)
然后他们从存储库中获取数据(这个存储库属于国外微服务),只需调用该方法:
locationRepository.Find(...)
有人可以解释我吗:
我认为这是因为他们只是共享对数据的直接访问。但在现实世界的微服务中,我预计微服务会相互通信以获取所需的数据。我不明白如何在 go-kit 框架中做到这一点。