akka-http - Akka http 与 Lagom

标签 akka-http lagom

请帮助理解
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/

相关文章:

websocket - 使用 akka http 通过网络套接字推送消息

scala - Akka HTTP 根据 Future 的结果设置响应头

java - 如何在启动时访问 Lagom 服务中的配置?

没有ConductR的Lagom?

cassandra - Akka Persistence 和 Akka Persistence Query 有什么区别?

logging - 为什么 lagom 在生产中使用异步附加器

java - 使用响应解码器的 Akka HTTP

scala - akka http 自定义嵌套指令

scala - Akka-http 并将 Future[HttpResponse] 转换为 Future[String]

java - 运行 Lagom hello-world 示例时出错