生成在服务重启后仍然存在的序列号

时间:2018-11-23 09:48:18

标签: architecture sequence

我有一个将事件发送到客户端的应用程序。这些事件应使用有序的序列号标记。要求事件b发生在a之后,其序列号大于a的序列号。

我的想法是创建一个128字节的序列,如下所示:

<timestamp when service was initiated><long which is incremented for each event; initially 0>

这样做的好处是,当服务重新启动时,我们可以保持顺序顺序。

这应该可行,除非服务重新启动的时间快于1毫秒。

我该如何应对?我应该在乎吗?

1 个答案:

答案 0 :(得分:0)

如果保留此序列,则要保留一些信息(在本例中为序列号)。

一种简单的方法是在程序重新启动时写入文件并从最后的序列号开始。因此,甚至不需要时间戳。

如果需要,您仍然可以保留时间戳以使文件成为某种日志。这实际上取决于您的应用程序的使用情况。