Plano 1:
Se não houver concorrência e o número do pedido for gerado apenas em um thread, como o programa é executado sequencialmente, os carimbos de hora de geração de pedidos diferentes são normalmente diferentes. Portanto, o número de registro de data e hora + aleatório (ou número auto-incremental) pode ser usado para distinguir cada ordem. Se houver simultaneidade e o número do pedido for gerado por vários threads em um processo, o número do pedido pode ser garantido para ser único adicionando o ID do thread ao número da sequência. Se houver concorrência e o número do pedido for gerado por vários processos no mesmo host, o número do pedido pode ser garantido adicionando o ID do processo ao número da sequência. Se houver simultaneidade e o número do pedido for gerado por hosts diferentes, o número que pode distinguir o host, como o endereço MAC, o endereço IP ou o número de série da CPU, pode garantir que o número da ordem seja exclusivo do número de série.
Plano 2:
Timestamp + ID do usuário + vários números aleatórios + bloqueio otimista.
Plano 3:
Use o Incremento Atômico Redis para construir um cluster de alta disponibilidade.
Solução 4 (números não de pura):
Java vem com uuid.
Código do caso
Java Gets Thread ID
Thread.CurrentThread (). GetId ()
Java Get Process ID
// Obtenha o nome que representa a máquina virtual Java em execução. Nome da String = ManagementFactory.GetRuntImxBean (). GetName (); System.out.println (nome); // Get Pid String pid = name.split ("@") [0]; System.out.println ("PID é:" + pid);Obtenha o endereço MAC por Java
Inetaddress ia = inetaddress.getLocAlHost (); byte [] Mac = NetworkInterface.GetByineTAddress (IA) .gethardwareAddress (); String macstr = datatypeConverter.printhexbinary (Mac);
Resumir
O exposto acima é a única solução para a Web Java para obter geração de números de pedidos em alta concorrência e na colocação de Java Web distribuída. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!