请帮助理解
1) 选择 Akka http 与 Lagom 来构建微服务
2)REST API 和基于 Akka http/Lagom 的微服务有什么区别。
谢谢
最佳答案
这是一个非常广泛的问题,但让我给你一些提示。
1) Akka是一个库(或者,正如 Akka 团队所称的,一个工具包),而 Lagom是一个框架。有什么不同?报价 Martin Fowler :
A library is essentially a set of functions that you can call, these days usually organized into classes. [..]
A framework embodies some abstract design, with more behavior built in.
Akka 为您提供编写 reactive 所需的一切微服务,如果你知道你在做什么。 Lagom 在某种程度上告诉您如何编写响应式(Reactive)微服务。例如,它规定了一定的项目结构,并为微服务中的常见模式提供现成的实现,例如服务查找、断路器、异步消息传递,甚至事件溯源和 CQRS。你也可以用 Akka 来做这一切(事实上,这就是 Lagom 在下面使用的),但如果你自己,你最终会实现很多。如果你对 Akka 不是很有经验(你可能没有,否则你不会问这个问题),我建议你试一试 Lagom。
2)微服务是关注一个业务能力的应用,与其他微服务交互形成一个功能系统。 REST是一种用于访问和操作资源的架构风格。这些是完全独立的,你可以在没有 REST 的情况下做微服务,也可以在没有微服务的情况下做 REST。但是您也可以组合它们,即将您的微服务构建为 REST 服务。这,或者更具体地说是基于 HTTP 的 REST 和使用 JSON,对于面向公众的微服务非常常见,这些微服务不仅与其他微服务交互,而且从 Web 前端或任意客户端应用程序调用。所以是的,有区别,实际上它们彼此没有任何关系,但是您可以使用 Lagom(或 Akka HTTP)来构建 REST API。
关于akka-http - Akka http 与 Lagom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765307/