问:Akka是跨微服务消息传递工具包吗?

时间:2016-06-28 08:17:05

标签: akka apache-kafka actor microservices messagebroker

我正在寻找一个框架/平台(轻松)支持跨微服务通信。我被引导与卡夫卡一起看阿卡。不幸的是,我无法找到具体的设置和用例,但也没有找到任何可以说它不起作用的具体消息。 根据这里和其他网站上的文章/消息,我已经从Akka + Kafka编制了一些期望值,并有一些开放点。

请您查看/更正以下几点?

  1. 微服务平台“集群”实施。 微服务“集群”是用一组实现的系统 微服务[应用]
    • 一个。微服务通过AKKA消息传递API相互交互。 (例如告诉,问)
    • 湾微服务可以有多个实例
      • 我。 问:邮箱是否共享(一个微服务= Actor)?
  2. AKKA可以连接到Kafka并将其用作传输(消息 经纪人),即Kafka API被封装到AKKA API

    • 一个。 问:卡夫卡有什么价值?例如。性能,吞吐量,可靠性。为什么Akka遥控还不够?
  3. 消息传递

    • 一个。首先,需要进行一些初始化:
      • 我。例如创建演员系统,主管
      • II。所有微服务(集群中的Actors)之间应该有一些共享的预配置。例如。 IP / URI,消息类型/案例等。
    • 湾可以在运行时添加/实例化Worker-Actors: 一世。按名称/ URI查找主管 II。添加Work-Actor作为孩子
    • ℃。能够向所有孩子广播消息(例如,通过姓名和通配符指定)并等待所有孩子的回复。 Hower似乎它不是Akka API的“原生”,代码看起来不够清晰(stackoverlow上的样本:12
    • d。如果需要过滤,则无法订阅特定类型的事件,即在订阅期间定义过滤条件 - 它只能在onReceive方法中的每个actor内部完成。因此,在广播的情况下,每个演员都会收到消息,而不是需要决定它是否适用于他。
    • 问:Akka中可用的消息跟踪/调试工具/功能是什么?
  4. 演员执行可以“链接”:例如A-> B-> C,在这种情况下,在处理C和B控制之后将被传回(在“问”方法的情况下)
  5. AKKA Cluster
    • 一个。为应用程序生命周期mgmt提供API:启动所有/启动一个/停止/缩放等。
      • 问:我如何支持/实施正常关机?
    • 湾它具有内置监控功能(检查应用程序可用性, 健康等。)
    • ℃。 问:基础架构监控怎么样?我需要关心它吗?
    • d。 问:ConductR是必须的还是不错的?
  6. 不需要服务发现(例如Eureka),因为我们使用被动通信(异步。通过Message Broker发送消息)
    • 一个。 问:亲和力/粘性怎么样?我需要关心它吗? Akka可以在这个领域提供什么?
    • 问:如何平衡?
  7. 此外,如果AKKA真的可以在基础卡夫卡上工作 - 那么有很好的例子吗?我发现只有带数据流的样本,但我只需要事件/消息处理。

0 个答案:

没有答案