gpt4 book ai didi

java - 了解 Akka 容错

转载 作者:行者123 更新时间:2023-11-29 08:55:30 28 4
gpt4 key购买 nike

我正在深入研究 Akka只是看着他们的 fault tolerance example ,并试图理解它。

  1. 为什么我不能在“纯 Java”中实现所有相同类型(WorkerListenerCounterService 等) (没有 Akka )。 Akka 在这里开箱即用地添加了哪些基础设施?
  2. 在该图中,Storage 代表什么?关系型数据库?监控 RDBMS 的 Java 应用程序? JDBC 驱动程序?
  3. 如果 Storage 是一个 Java 应用程序并且可以将 StorageException 抛回给请求者,那就太好了,但是如果 StorageCounterService 被切断或有传输级问题?整个图表是否仍然有效(如果是,如何?!?)还是 Akka 仅提供“应用层”容错?在后一种情况下,Java/Akka 如何处理硬件或网络级别的故障?

最佳答案

  1. Akka 基于 actor 的设计模式,您可以自己实现这种模式,就像使用 MVC 一样。我想说 akka 为你做的最好的事情就是所有反应性的东西,它们将最大限度地减少 Actor 需要的资源量。

  2. 您可以将存储视为状态或保存应用程序的某些状态。

  3. 我认为人们在谈论容错时主要指的是因为您可以轻松地拥有分布式参与者,并使用诸如可靠代理模式之类的东西 http://doc.akka.io/docs/akka/snapshot/contrib/reliable-proxy.html你让你的应用程序在最后一个节点死亡之前一直运行,如果你总是实现这种模式,你就不会丢失任何消息。所以它指的是消息丢失。一切都是在 akka 中的消息方面,你通常不会有不是一个好主意的请求,因为它是阻塞的,而是在需要时使用 Futures。如果您的硬件停止运行,您将无法在您指定的时间内检索 future 的值,您可以自行处理故障。

关于java - 了解 Akka 容错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20477432/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com