메시징 시스템 (JMS 또는 AMQP는 선택 사항)을 통해 메시지를 보내야하는 jboss Java EE 응용 프로그램을 개발 중입니다. 대략 초당 약 10k에서 15k 개의 메시지가있을 것입니다. 요구 사항은 응용 프로그램이 다시 시작된 후에도 (예 : 응용 프로그램 사용 1 일부터 해제 될 때까지 ID가 다시 반복되어서는 안 됨)응용 프로그램 수명 동안 고유 한 ID
내가
- 숫자 값만을 기반으로 솔루션을 선호하는 것 (어떤 데이터 유형?)
- 문자열
아이디의 자동 생성 원자되어야한다.
일반 '긴'은 시퀀스이어야하며 응용 프로그램이 다시 시작될 때까지 지속되어야합니다. 따라서 문제는 초당 15k 번 저장 장치에 안전하게 쓰거나 다른 방법으로이를 최적화하는 방향으로 바뀝니다. 데이터베이스가 시퀀스의 갭을 허용하고 ID의 "블록"을 소비함으로써 데이터베이스가이를 수행한다고 생각합니다. (병렬 처리없이 여러 번 AtomicLong을 증가시키는 것뿐만 아니라) – millimoose