【发布时间】:2016-01-07 03:22:41
【问题描述】:
我正在研究微服务,以及将我们的一些代码迁移到这种架构的可能性。我了解一般概念,但很难了解它如何适用于我们的示例。
假设我有一个名为RatingEngine 的接口和一个名为RatingEngineImpl 的实现,它们都在我的单体应用程序中运行。原理很简单——RatingEngineImpl 可以在不同的机器上运行,并由单体应用程序通过(比如)REST API 访问,通过 http 使用 json 序列化 DTO。我们甚至有一个接口来帮助解耦。
但实际上我该怎么做呢?据我所知,我需要为臀部单体(即现在的客户端)创建一个新的接口实现,它调用接口方法,将它们转换为 REST 调用,并通过网络将它们发送到新的“评级引擎服务”。然后我还需要实现一个新的 http 服务器,每个接口方法都有一个端点,然后它反序列化 DTO(方法参数)并将调用路由到我们原来的 RatingEngineImpl,它位于服务器内部。然后它将响应序列化并将其发送回客户端。
所以这看起来像是大量的管道代码。它还增加了维护开销,因为如果您在界面中调整一个方法,您需要在另外两个地方进行更改。
我错过了什么吗?有什么聪明的方法可以让我们自动构建样板代码吗?
【问题讨论】:
标签: java rest microservices