我正在寻找一个框架/平台(轻松)支持跨微服务通信。我被引导与卡夫卡一起看阿卡。不幸的是,我无法找到具体的设置和用例,但也没有找到任何可以说它不起作用的具体消息。
根据这里和其他网站上的文章/消息,我已经从Akka + Kafka编制了一些期望值,并有一些开放点。
请您查看/更正以下几点?
- 微服务平台“集群”实施。
微服务“集群”是用一组实现的系统
微服务[应用]
- 一个。微服务通过AKKA消息传递API相互交互。 (例如告诉,问)
- 湾微服务可以有多个实例
- 我。 问:邮箱是否共享(一个微服务= Actor)?
-
AKKA可以连接到Kafka并将其用作传输(消息
经纪人),即Kafka API被封装到AKKA API
中
- 一个。 问:卡夫卡有什么价值?例如。性能,吞吐量,可靠性。为什么Akka遥控还不够?
-
消息传递
- 一个。首先,需要进行一些初始化:
- 我。例如创建演员系统,主管
- II。所有微服务(集群中的Actors)之间应该有一些共享的预配置。例如。 IP / URI,消息类型/案例等。
- 湾可以在运行时添加/实例化Worker-Actors:
一世。按名称/ URI查找主管
II。添加Work-Actor作为孩子
- ℃。能够向所有孩子广播消息(例如,通过姓名和通配符指定)并等待所有孩子的回复。 Hower似乎它不是Akka API的“原生”,代码看起来不够清晰(stackoverlow上的样本:1,2)
- d。如果需要过滤,则无法订阅特定类型的事件,即在订阅期间定义过滤条件 - 它只能在onReceive方法中的每个actor内部完成。因此,在广播的情况下,每个演员都会收到消息,而不是需要决定它是否适用于他。
- 即问:Akka中可用的消息跟踪/调试工具/功能是什么?
- 演员执行可以“链接”:例如A-> B-> C,在这种情况下,在处理C和B控制之后将被传回(在“问”方法的情况下)
- AKKA Cluster
- 一个。为应用程序生命周期mgmt提供API:启动所有/启动一个/停止/缩放等。
- 湾它具有内置监控功能(检查应用程序可用性,
健康等。)
- ℃。 问:基础架构监控怎么样?我需要关心它吗?
- d。 问:ConductR是必须的还是不错的?
- 不需要服务发现(例如Eureka),因为我们使用被动通信(异步。通过Message Broker发送消息)
- 一个。 问:亲和力/粘性怎么样?我需要关心它吗? Akka可以在这个领域提供什么?
- 湾问:如何平衡?
醇>
此外,如果AKKA真的可以在基础卡夫卡上工作 - 那么有很好的例子吗?我发现只有带数据流的样本,但我只需要事件/消息处理。