如果您知道自己在做什么,Akka会为您提供编写reactive微服务所需的一切 . Lagom告诉你,在某种程度上,如何编写反应式微服务 . 例如,它规定了某种项目结构,并为微服务中的常见模式提供现成的实现,例如服务查找,断路器,异步消息传递,甚至事件源和CQRS . 你也可以用Akka完成所有这些(事实上,如果你自己最终实现了很多 . 如果你're not very experienced with Akka (and you probably aren' t,否则你不会问这个问题),我建议你给Lagom一个机会 .
2)微服务是一种与一种业务能力相关的应用程序,它与其他微服务交互以形成一个功能系统 . REST是一种用于访问和操作资源的架构风格 . 这些是完全独立的,你可以在没有REST的情况下做微服务,而在没有微服务的情况下做REST . 但您也可以将它们组合在一起,即将您的微服务构建为REST服务 . 对于面向公众的微服务而言,或者更具体地说,REST over HTTP和使用JSON,这种服务不仅与其他微服务交互,而且从Web前端或任意客户端应用程序调用 . 所以,是的,存在差异,实际上它们彼此无关,但您可以使用Lagom(或Akka HTTP)来构建REST API .
1 回答
这是一个非常广泛的问题,但让我给你一些指示 .
1)Akka是一个库(或者,正如Akka团队所称,它是一个工具包),而Lagom是一个框架 . 有什么不同?引用Martin Fowler:
如果您知道自己在做什么,Akka会为您提供编写reactive微服务所需的一切 . Lagom告诉你,在某种程度上,如何编写反应式微服务 . 例如,它规定了某种项目结构,并为微服务中的常见模式提供现成的实现,例如服务查找,断路器,异步消息传递,甚至事件源和CQRS . 你也可以用Akka完成所有这些(事实上,如果你自己最终实现了很多 . 如果你're not very experienced with Akka (and you probably aren' t,否则你不会问这个问题),我建议你给Lagom一个机会 .
2)微服务是一种与一种业务能力相关的应用程序,它与其他微服务交互以形成一个功能系统 . REST是一种用于访问和操作资源的架构风格 . 这些是完全独立的,你可以在没有REST的情况下做微服务,而在没有微服务的情况下做REST . 但您也可以将它们组合在一起,即将您的微服务构建为REST服务 . 对于面向公众的微服务而言,或者更具体地说,REST over HTTP和使用JSON,这种服务不仅与其他微服务交互,而且从Web前端或任意客户端应用程序调用 . 所以,是的,存在差异,实际上它们彼此无关,但您可以使用Lagom(或Akka HTTP)来构建REST API .