План 1:
Если параллелизм нет, а номер заказа генерируется только в одном потоке, то, поскольку программа выполняется последовательно, марки времени генерации разных заказов обычно различаются. Следовательно, временное ламп + случайное число (или самоохваток) может использоваться для различения каждого порядка. Если существует параллелизм и номер заказа генерируется несколькими потоками в процессе, номер заказа может быть уникально, добавив идентификатор потока к номеру последовательности. Если есть параллелизм, и номер заказа генерируется несколькими процессами на одном хосте, номер заказа может быть гарантированно уникально, добавив идентификатор процесса к номеру последовательности. Если есть параллелизм, и номер заказа генерируется различными хостами, то число, которое может различать хост, такой как MAC -адрес, IP -адрес или серийный номер ЦП, может убедиться, что номер заказа уникален для серийного номера.
План 2:
TimeStamp + идентификатор пользователя + несколько случайных чисел + оптимистичная блокировка.
План 3:
Используйте приращение Atomic Redis, чтобы построить кластер с высокой доступностью.
Решение 4 (числа без числа):
Java приходит с Uuid.
Код дела
Java получает идентификатор потока
Thread.currentThread (). GetId ()
Java получить идентификатор процесса
// Получите имя, представляющее бегущую виртуальную машину Java. String name = ManagementFactory.getRuntImemxbean (). GetName (); System.out.println (имя); // Получить pid String pid = name.split ("@") [0]; System.out.println ("pid Is:" + pid);Получите MAC -адрес от Java
InetAddress ia = inetAddress.getlocalhost (); byte [] mac = networkinterface.getbyinetaddress (ia) .gethardwareaddress (); String macstr = datatypeconverter.printhexbinary (mac);
Суммировать
Выше представлено единственное решение для Java Web для достижения генерации номеров заказа в высокой параллелистике и распределенного размещения Java Web. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!