首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在消息传递系统中设置检查点?

如何在消息传递系统中设置检查点?
EN

Stack Overflow用户
提问于 2013-06-25 05:44:22
回答 1查看 224关注 0票数 0

在消息传递/分布式系统中,我们基于同步时钟执行检查点,存储进程的状态。

现在我想知道,我们怎么能做到这一点呢?

比如说,我的系统处理请求/response客户机服务器系统。在某个地方,我想设置检查点,这样如果出现故障,我就可以进行回滚。

在这种情况下,我需要存储哪些信息?我想知道实际的考虑。我看了几篇关于回滚恢复的文章,现在试图为PoC实现。

有人在他们的系统里尝试过检查点机制,能给我一些线索吗?

编辑

我试图对非确定性事件进行回滚(例如:接收对non服务的请求)--我有两种方法,一种是基于检查点的,另一种是基于日志的。我选择Apache Axis2平台作为我的webservice平台。它已经有了日志记录facility.So,在这种情况下,日志记录会更容易。

因此,当我们进行基于检查点/基于日志的操作时,是否需要存储整个数据?

  • 在这两种情况下,在存储数据方面有什么不同吗?
  • 在这种类型的恢复中,我们需要回滚客户端和服务器,客户端可以根据我们存储的信息进行回滚。在这种情况下,我们如何回滚服务器?这有必要吗?或者我不正确地理解了协议
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-25 13:19:35

您需要保存的数据高度依赖于您的系统,因此如果不了解更多有关它的信息,我们将无法具体告诉您在这里存储什么。

但是,一般来说,您需要存储对您的应用程序至关重要的任何数据。对于某些应用程序,您需要存储内存的全部内容并在此时重新加载。这是有点沉重,但可能是必要的。一般来说,这是非常昂贵的,通常不需要。通常,您可以存储任何内部状态数据(可能是连接到的客户端或这些连接的状态),当您在失败后重新启动应用程序时,您可以重新加载所有这些数据并重新建立到客户端的任何连接。

在另一个实现中,您可能不关心到客户端的连接,只需要保存一些小的内部状态,让客户端重新连接并重新启动它们在建立连接时所做的任何操作。这取决于您愿意损失多少执行,以及您希望通过创建这些检查点引入多少开销。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17289974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档