为什么恰好一次语义不可行?

2023-12-28

在 Erlang 希望最好的 RPC 语义中,SUN RPC 具有至少一次,Java RMI 具有最多一次,但没有人拥有恰好一次语义。

为什么拥有一次语义似乎不可行?

例如,如果客户端不断重新发送唯一标记的请求,直到收到答复,并且服务器会跟踪所有已处理的请求,以免重复请求。那岂不是正好一次吗?


考虑一下如果服务器在执行请求和记录已执行请求之间崩溃会发生什么?

您最多可以通过记录请求然后执行它来获取一次。如果您在两者之间发生崩溃,那么您(错误地)将其记录为已执行的操作,因此您不会再这样做。因此最多一次

奇怪的是,这个(带有超时)已获得专利:http://www.freepatentsonline.com/7162512.html http://www.freepatentsonline.com/7162512.html。除了我上面所说的之外,它并不能保证恰好一次。

通过执行然后记录下来,你至少可以得到一次。如果两者之间发生崩溃,如果重复请求,您将再次执行该操作。

但在所有情况下都说“恰好一次”并不现实

(类似的场景是网络错误而不是服务器崩溃)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么恰好一次语义不可行? 的相关文章

  • TCP 兼容性:为什么 TCP 不兼容数据包广播和组播操作?

    http en wikipedia org wiki User Datagram Protocol http en wikipedia org wiki User Datagram Protocol 与 TCP 不同 UDP 与数据包广播
  • 两个本体之间的映射

    我如何使用 owl sameas 来链接两个本体 如果我有本体A c rdf type owl Class 和本体B d rdf type owl Class 我想将两个本体与共享概念 c 和 d 联系起来 我读过有关 owl sameas
  • 微服务之间的通信

    假设您有微服务 A B 和 C 它们当前都通过 HTTP 进行通信 假设服务 A 向服务 B 发送请求 服务 B 得到响应 然后 该响应中返回的数据必须发送到服务 C 进行一些处理 然后最终返回到服务 A 服务 A 现在可以在网页上显示结果
  • 嵌入式 Windows XP 中的网络接口设置

    给定设备描述 即出现在 设备属性 gt 连接使用 文本框中的字符串 我们如何获取网络接口名称 即出现在 网络连接 对话框中的名称 我们必须使用纯 C C 语言 或者通过一些标准命令行工具 例如 netsh ipconfig 或者两者的组合来
  • 使用 ImageIO 发送图像流?

    我设置了一个 ServerSocket 和一个 Socket 因此 ServerSocket 使用 ImageIO write 发送图像流 并且 Socket 尝试读取它们并用它们更新 JFrame 所以我想知道 ImageIO 是否可以检
  • GWT:在另一个模块内调用RPC服务

    我有一个模块B 它继承了模块A 当我从A内部调用RPC服务时 它们工作正常 但是当我在B中调用A的服务时 RPC调用总是失败 我错过了什么吗 预先感谢您的任何帮助 我在这里找到了我的问题的答案 http blog cloudglow com
  • 我可以在不使用 system() 命令的情况下用 C 读/写路由表吗?

    我有用 C 编写的代码 我想使用存储在路由表中的 C 代码信息 是否可以 您还可以运行 strace route add 来查看如何route命令执行此操作 在我的系统上 它使用ioctl with SIOCADDRT 稍微搜索一下就会发现
  • 从MAC地址获取IP。 arp -a 不显示设备

    我正在尝试编写一个批处理文件 该文件应该在连接到网络 腾达 WiFi 路由器 时找到我的 Android 手机的动态分配的 IP 所以我正在尝试arp a并搜索我手机的 MAC 地址 以便我可以从表中获取其 IP C Users Leero
  • 套接字编程中的选择函数

    谁能告诉我它的用途和应用selectc 中套接字编程的函数 The select 当您必须处理多个事件源时 函数允许您实现事件驱动的设计模式 假设您想编写一个程序来响应来自多个事件源的事件 例如网络 通过套接字 用户输入 通过标准输入 其他
  • java.lang.ClassNotFoundException:com.google.gwt.user.client.rpc.RemoteService

    在 Tomcat 6 中部署 war 文件时出现以下异常 java lang ClassNotFoundException com google gwt user client rpc RemoteService 所以我尝试通过 webAp
  • 理解 htonl() 和 ntohl()

    我正在尝试使用 unix 套接字来测试向本地主机发送一些 udp 数据包 据我了解 当设置 ip 地址和端口以发送数据包时 我会填写我的sockaddr in将值转换为网络字节顺序 我在 OSX 上 我很惊讶这个 printf ntohl
  • 客户端使用高端口号

    为什么客户端会结束连接 使用高端口号 临时端口 而应用程序 监听通常较小的端口号 谢谢你的优点 卡蒂克 巴拉古鲁 服务器侦听固定端口号 以便客户端知道连接到哪里 客户端不需要使用固定端口号 因为没有人发起与它们的连接 事实上 如果同一台计算
  • Python 套接字库认为套接字未打开时已打开

    我正在使用一些Python 如下所示 HOST 127 0 0 1 PORT 43434 single socket socket socket AF INET socket SOCK STREAM try single bind HOST
  • 如何以编程方式证明“六度分离”概念?

    我有一个包含 2000 万用户以及这些人之间的联系的数据库 如何证明 六度分离 的概念以最有效的方式在编程中 链接到有关六度分离的文章 http en wikipedia org wiki Six degrees of separation
  • 视频流上的 TCP 与 UDP

    我刚从网络编程考试回来 他们问我们的问题之一是 如果您要传输视频 您会使用 TCP 还是 UDP 请解释一下存储视频和实时视频流 对于这个问题 他们只是希望得到一个简短的答案 TCP 用于存储视频 UDP 用于实时视频 但我在回家的路上想到
  • 什么是接口标识符

    我有一台笔记本电脑 使用一个或多个网络适配器连接到我组织的网络 我正在尝试编写一个工具来持续监控每个网络的连接状态和连接质量 然而 我的网络知识有限 术语让我感到困惑 特别是查找所有网络适配器 有人建议我使用命令ifconfig它给了我所谓
  • 除了 iptables 之外还有数据包管理实用程序吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Linux 实用程序 它可以根据一组规则更改网络数据包的有效负载 理想情况下 我会使用
  • HTML5 -

    Reading 一篇文章 http html5doctor com the article element on the
  • 使用 Flash 在本地托管游戏?

    我只是找不到合适的谷歌搜索词 是否可以使用 Flash 或 Flash 兼容服务 来允许游戏中的玩家通过 Web 浏览器托管自己的游戏 使用自己的带宽 在某种程度上 从他们的计算机运行他们自己的游戏服务器 对于 Flash 浏览器内游戏 但
  • 概念数据建模:RDF 是正确的工具吗?其他解决方案?

    我正在规划一个系统 该系统结合了各种数据源 并允许用户对这些数据源进行简单的查询 系统的一部分需要充当抽象层 了解所有连接的数据源 用户不应该 需要 了解底层数据 提供者 数据提供者可以是任何东西 关系 DBMS 错误跟踪系统 气象站 它们

随机推荐