Akka远程消息到底有多不可靠?

Akka远程消息到底有多不可靠?,akka,Akka,我参与了一个似乎非常适合Akka演员的应用程序的设计。在这个系统中,并非所有的消息都需要可靠地传递。在某些情况下,丢失消息的后果相对较小,而在其他情况下,后果则较为严重 我从Akka文档中了解到,远程消息传递是不可靠的,并且存在提供可靠消息传递的模式 然而,在某些情况下,我们可以用其他方法来处理交付失败,特别是如果这不是一种常见的情况。我想了解一下,在使用典型配置和标准传输的情况下,消息传递在实践中有多不可靠 我正在寻找以下线索: TCP传输与底层TCP连接一样可靠 根据设计,TCP传输有时会

我参与了一个似乎非常适合Akka演员的应用程序的设计。在这个系统中,并非所有的消息都需要可靠地传递。在某些情况下,丢失消息的后果相对较小,而在其他情况下,后果则较为严重

我从Akka文档中了解到,远程消息传递是不可靠的,并且存在提供可靠消息传递的模式

然而,在某些情况下,我们可以用其他方法来处理交付失败,特别是如果这不是一种常见的情况。我想了解一下,在使用典型配置和标准传输的情况下,消息传递在实践中有多不可靠

我正在寻找以下线索:

  • TCP传输与底层TCP连接一样可靠
  • 根据设计,TCP传输有时会错误地失败
  • TCP传输将在重载情况下丢弃消息
  • TCP传输将在连接失败时重试消息
  • UDP传输与UDP消息传递一样可靠
  • UDP传输将丢弃无序到达的消息
  • UDP传输将重试消息,直到达到配置的限制
  • 消息传递失败几乎总是会在被监视的参与者上触发
    终止的
    消息
如果它取决于配置,它取决于什么?

  • TCP传输与底层TCP连接一样可靠

  • 根据设计,TCP传输有时会错误地失败

    没有

  • TCP传输将在重载情况下丢弃消息

    没有

  • TCP传输将在连接失败时重试消息

    Akka 2.2.3试图这样做,但该功能在2.3.0-RC1中被删除,因为它造成了更多的混乱,而不是帮助

  • 消息传递失败几乎总是在被监视的参与者上触发终止消息

    终止与参与者的观察有关,而与交付失败无关。 例如,如果出现暂时性网络故障,消息可能会丢失,但如果足够短,则不会触发终止

      • TCP传输与底层TCP连接一样可靠

      • 根据设计,TCP传输有时会错误地失败

        没有

      • TCP传输将在重载情况下丢弃消息

        没有

      • TCP传输将在连接失败时重试消息

        Akka 2.2.3试图这样做,但该功能在2.3.0-RC1中被删除,因为它造成了更多的混乱,而不是帮助

      • 消息传递失败几乎总是在被监视的参与者上触发终止消息

        终止与参与者的观察有关,而与交付失败无关。 例如,如果出现暂时性网络故障,消息可能会丢失,但如果足够短,则不会触发终止