2011-11-02 5 views
1

아마존 Simpledb를 대기열로 사용하여 웹 서비스를 일부로드 할 생각입니다. 요청은 64k보다 커서 SQS를 사용할 수 없도록 fifo가 필요합니다. 동시 제한이 simpledb에 무엇인지 궁금합니다. 나는 거의 모든 시간에 새로운 행을 삽입하는 10,000 명의 클라이언트를 가질 수 있습니까? 당신은 가능성이 있기 때문에 쓰기에 자사의 '최종 일관성'의 SimpleDB에 문제가있을 것이다규모의 Amazon SimpleDB

답변

0

어떤 도움도 좋은 것입니다. 즉, 데이터를 쓸 때 해당 데이터는 즉시 작성된 쿼리에서 반환되지 않을 수 있습니다. 몇 초 후에 당신이 안전하다고 들었지만, 이것을 고려하여 시스템을 코딩해야합니다.

조건부 풋의 도입으로 인해 이것은 약간 완화되었으므로 동시 기록이있는 경우 업데이트가 손실되지 않습니다. 결국 일관성 모델은 카운터와 큐와 같은 간단한 것을 코딩하는 것을 복잡하게 만들 수 있습니다.

Here은 AWS SDK를 사용하여 Java에서 구현되는 증가 카운터의 예입니다. nextValue 방법에 주목하라 : 자신 넣어 깔끔하게 처리 될 때까지

while (!done) { 

클라이언트는 기본적으로 다시 시도하십시오. 이것은 확장 할 수 없습니다!

+0

정보 주셔서 감사합니다. 나는 메신저를 사용하여 서버에서 msmq를 채우는 s3과 작업자를 사용하여 다른 것을 요리 할 것이라고 생각합니다. 내가 읽은 것에서는 동시 s3 객체 쓰기의 수에 제한이 없습니다. – Quotient

+0

그들은 simpledb 풋에 요금을 부과하는 데 사용되었습니다 (비용은 10 배 더 듭니다). 그래서 이것 또한 고려 사항 이었지만, 이것들은 가격 결정에서 사라져 버렸습니다. 내가 simpledb를보기 시작했을 때마다 s3를 키/값 저장소로 사용하고 키를 지능적으로 선택하거나 로컬로 인덱싱하는 것으로 끝 맺었습니다. – Tim

+0

또한 s3을 사용하면 접두어가있는 버킷을 쿼리 할 수 ​​있습니다. 접두사/yyyy/mm/dd /를 사용하여 날짜를 검색하는 것이 좋습니다. – Tim

관련 문제