как избежать дублирования билетов в нсф?

У меня есть несколько серверов приложений для беспрепятственного доступа, но, к сожалению, однажды я столкнулся с проблемой дублирования в билетах: мой текущий сценарий генерирует билет no. после завершения формы в событиях сохранения, но иногда из-за проблем с сервером задерживается репликация, поэтому генерируются два билета с одинаковым номером.

1 ответ

Решение

Обычно этот вопрос слишком широкий, поскольку он не отражает минимального количества исследований...

Тем не менее отвечу: вот несколько способов решить эту проблему.

Самый простой: добавьте имя сервера к номеру билета.

Так что считайте так же, как и вы, но если есть дубликаты, то они отличаются частью имени сервера:

Сервер1-0001 Сервер1-0002 Сервер2-0003 Сервер3-0004 Сервер1-0005 Сервер2-0005

Другая возможность - создать номер только на ОДНОМ сервере. Вы можете сделать это, запустив агент на этом сервере для всех документов, у которых еще нет номера, или "запросив" номер у сервера при сохранении.

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

Во-вторых, сложнее, поскольку вам нужно, чтобы все серверы "знали" один центральный сервер и писали код / ​​агентов / что-то еще, чтобы "получить" номер билета от этого сервера и поместить его в билет.

Все это нетривиально, поэтому подробно здесь можно ответить.

Другие вопросы по тегам