대규모 Java 데이터 그리드 기술에 대해 무엇을 권장하시겠습니까?Terracotta, GigaSpaces, Coherence 등?[닫은]

StackOverflow https://stackoverflow.com/questions/539985

문제

저는 Terracotta, GigaSpaces 및 Coherence를 포함한 Java 플랫폼용 소위 "데이터 그리드" 솔루션에 대해 읽어 왔습니다.이러한 도구를 실제로 사용해본 경험이 있고 경험을 공유할 수 있는 사람이 있는지 궁금합니다.또한 배포 담당자가 어느 정도 규모로 작업했는지 알고 싶습니다.2~4개 노드 클러스터를 말하는 건가요, 아니면 그보다 훨씬 더 큰 클러스터로 작업한 적이 있나요?

저는 Terracotta가 우리가 많이 사용하는 Hibernate와 Spring에 대한 "드롭인" 지원 때문에 매력을 느낍니다.또한 구성을 기반으로 바이트 코드를 장식하는 방법에 대한 아이디어가 마음에 들며 "그리드 API"에 대해 프로그래밍 할 필요가 없습니다. 나는 명백한 API의 접근 방식을 사용하는 도구에 대한 장점을 알지 못하지만 실제로 존재한다면 그것들에 대해 듣고 싶습니다.:)

나는 또한 memcached에 대해 읽는 데 시간을 보냈지만 이 세 가지 특정 솔루션에 대한 피드백을 듣는 데 더 관심이 있습니다.누군가가 두 가지를 모두 사용한 경우 memcached와 비교하여 어떻게 측정되는지 듣고 싶습니다.

도움이 되었습니까?

해결책

WebService 응용 프로그램을 실행하는 50 개의 서버가 있었고이 모든 서버는 BigIP를 사용하여로드 균형을 잡았습니다. 요구 사항은 각 사용자 상태를 캐시하여 후속 상태가 동일한 처리를 다시 수행하지 않고 이전 상태에서 데이터를 얻는 것이 었습니다. 이런 식으로 웹 서비스의 클라이언트는 상태를 유지할 필요가 없습니다.

우리는 테라코타를 사용하여 상태를 캐시했으며 성능 문제에 직면하지 않았습니다. 피크 타임에서 요청 응용 프로그램의 수는 초당 100입니다.

다른 팁

확인해 보세요. 헤이즐캐스트 또한.Hazelcast는 큐, 토픽, 맵, 세트, ​​목록, 잠금 및 실행기 서비스의 오픈 소스 트랜잭션 분산/분할 구현입니다.작업하기가 매우 쉽습니다.클래스 경로에 hazelcast.jar을 추가하고 코딩을 시작하세요.구성이 거의 필요하지 않습니다.

헤이즐캐스트 Apache 라이센스에 따라 출시되었으며 엔터프라이즈급 지원도 제공됩니다.코드는 다음에서 호스팅됩니다. 구글 코드.

선택한 라이브러리는 실제로 응용 프로그램과 달성하려는 내용에 따라 다릅니다.

나는 일관성을 사용하여 웹 응용 프로그램에 확장 성 (및 중복성)을 제공하는 상점에서 일했습니다. 일관성으로 인한 혜택을 얻으려면 약 4-5 노드가 있어야한다는 것을 알았습니다 (2 또는 3 노드는 성능을 줄일 수 있습니다). 나는 Oracle의 문서가 일관성에 혜택을주기 위해 많은 (30+) 노드가 필요하다고 말합니다. 일관성과 함께 가면 하드웨어를 올바르게 설정해야합니다. 대기 시간에 매우 민감합니다.

나는 개인적으로 "드롭 인"물건에서 멀리 떨어져있을 것입니다. 그들은 당신에게 시작할 무언가를 줄 수 있지만, 결국 동기화 또는 성능 문제에 빠지게되며 어쨌든 그리드 계층에 맞는 코드를 작성해야합니다. 기본적으로 앱은 라이브러리보다 앱을 더 잘 알고 있으며 캐시에 어떤 항목이 필요한지, 살아야 할 시간, 앱 사용 방법 등을 파악할 수 있습니다.

이 기술에 대한 경험이 충분하지 않지만 아파치 하프 확장 가능하고 신뢰할 수있는 것으로 판명되었습니다. 야후는 그것을 달렸다 10,000 코어 리눅스 클러스터.

Google을 기반으로합니다 Mapreduce 연산.

이것 기사는 MapReduce와 그에 대해 관심을 가져야하는 이유를 설명합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top