Генерация порядкового номера, который дожил до перезапуска службы - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть приложение, которое отправляет события клиентам.Эти события должны быть помечены упорядоченным порядковым номером.Требование состоит в том, что событие b, которое произошло после a, имеет порядковый номер, который больше номера для a.

Моя идея состояла в том, чтобы создать последовательность из 128 байтов следующим образом:

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

Преимущество этого заключается в том, что при перезапуске службы мы можем сохранять порядок последовательности.

Это должно работать, за исключением случаев, когда служба была перезапущена быстрее, чем на 1 миллисекунду.

Как мне справиться с этим?Должен ли я заботиться об этом?

1 Ответ

0 голосов
/ 23 ноября 2018

Если вы сохраняете эту последовательность, вы хотите сохранить некоторую информацию (в данном случае порядковый номер).

Простой способ сделать это - записать файл и начать с последнего порядкового номера.когда программа перезапускается.Следовательно, временная метка даже не понадобится.

Вы все равно можете сохранить временную метку, чтобы сделать свой файл каким-то журналом, если это необходимо.Это действительно зависит от использования вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...