首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lagom服务如何使用其他服务?

Lagom服务如何使用其他服务?
EN

Stack Overflow用户
提问于 2016-04-12 19:15:41
回答 1查看 1.6K关注 0票数 2

我想不出三种情况。

  1. Lagom服务在同一个集群中使用另一个Lagom服务。
  2. Lagom服务在不同的集群中使用另一个Lagom服务。
  3. Lagom服务消耗外部非Lagom服务。
  4. 外部非Lagom服务使用Lagom服务。

1. Lagom服务在同一个集群中使用另一个Lagom服务。

对于这种情况,方法是ServiceAImpl依赖于ServiceB API,该API绑定到将注入到ServiceAImpl的具体实现。

ServiceB绑定:

代码语言:javascript
复制
import com.google.inject.AbstractModule;
import com.lightbend.lagom.javadsl.server.ServiceGuiceSupport;
import docs.services.HelloService;

public class Module extends AbstractModule implements ServiceGuiceSupport {

    protected void configure() {
        bindClient(HelloService.class);
    }
}

ServiceA实现:

代码语言:javascript
复制
public class MyServiceImpl implements MyService {
  private final HelloService helloService;

  @Inject
  public MyServiceImpl(HelloService helloService) {
    this.helloService = helloService;
  }

  @Override
  public ServiceCall<NotUsed, NotUsed, String> sayHelloLagom() {
    return (id, msg) -> {
      CompletionStage<String> response = helloService.sayHello().invoke("Lagom");
      return response.thenApply(answer ->
          "Hello service said: " + answer
      );
    };
  }
}

如果我正确理解它,为了以这种方式使用服务API,两个客户端必须位于同一个集群中。然而,拉格姆他说认为

群集只应跨越运行相同服务的节点。

在本例中,我们有两种不同类型的服务。

  • “同一服务”是指其API暴露于外部服务的顶级服务?
  • 在Lagom 1中,Microservice =1带有外部API +n内部服务的服务?

2. Lagom服务在不同的集群中使用另一个Lagom服务。

文档他说

注意,如果您想要与之通信的服务实际上是一个拉格姆服务,您可能希望阅读与外部拉格姆项目的集成的文档。

为什么只将依赖项配置到服务API,而不配置外部Lagom服务的IP和端口?

3. Lagom服务消耗外部非拉格姆服务

您必须做的第一件事是在service中注册每个外部服务。假设我们想要注册一个在http://localhost:3333上运行的外部服务,下面是我们要添加到构建中的内容: lagomUnmanagedServices in ThisBuild := Map(“ThisBuild”->“http://localhost:3333"”)

那个IP的合同是什么?它的背后应该是什么?

4.外部非Lagom服务使用Lagom服务

我必须使用第三方登记模式,直到Lagom支持自配准模式

EN

回答 1

Stack Overflow用户

发布于 2016-05-06 07:27:51

当拉格姆谈到“星团”时,它指的是阿克卡星团。每个服务可以部署为一个Akka集群,也就是说,一个服务可以是一个节点集群。所以,集群中没有多个服务,只有一个集群服务。

Lagom服务调用以相当直接的方式向下映射到惯用的REST。因此,当与外部服务交谈时,IP上的内容应该是REST服务。同样,当外部服务与Lagom交谈时,它应该使用REST。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36582126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档