이 누리집은 대한민국 공식 전자정부 누리집입니다.
나*주
2014-01-21 09:44:41
962
실행환경
완료
각 테이블의 아이디 생성 시에 해당 기능을 사용하고 싶습니다.
헌데 운영환경은 WAS가 이중화하여 동일한 서비스에 대하여 컨테이너가 여러개 올라가게 되는데요.
이 경우에 blockSize를 1로 하면 유니크한 아이디를 얻을 수 있는건가요?
내부적으로 max 쿼리를 사용하여 가져오는 것인가요? 동시간적으로 가져오도록 하였을 때에도 유니크한 아이디를
얻을 수 있는것인지 궁금합니다. ( 트랜잭션과 상관없이 유니크한 키값으르 얻을 수 있는건가요? )
안녕하세요. 나형주님.
DB 테이블이나 시퀀스 기반이기 때문에 WAS가 이중화 되어 있어셔도 사용가능하십니다. (중복되지 않음)
다만, 이중화된 상태에서 blockSize가 1 이상인 경우는 생성되는 시점과 순서가 일치하지 않을 수 있습니다.
blockSize만큼 증가 시킨 후에 DB 상에 기록한 후에 메모리 상에 생성된 id를 제공하기 때문입니다.
생성되는 순서가 중요하신 경우라면 blockSize를 1로 하시고, 그렇지 않으신 경우라면 blockSize를 1 이상으로 설정하시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.