정적 개체는 한 번만 초기화됩니다. 싱글 톤 클래스는 한 번만 인스턴스화됩니다. 클러스터에서 싱글 톤을 사용하면 클러스터에 싱글 톤 인스턴스가 여러 개 생성됩니다. 그러면 클러스터 환경에서 정적 개체는 어떻게됩니까? 이 개체가 다른 클러스터 서버에서 초기화되지 않은 이유는 무엇입니까? 또는 객체 상태가 변경되지 않는 이유는 무엇입니까?클러스터링하는 동안 정적 객체는 어떻게 처리됩니까?
답변
정적 객체는 항상 ClassLoader의 범위에 있고 (대부분의 경우 JVM 당) 클러스터링에서는 고려되지 않습니다. 싱글 톤이 필요하다면 컨테이너에 컨테이너를 생성하라고 지시해야합니다. 클러스터 당 하나 또는 JVM 당 하나 또는 Classloader 당 한 번만 존재해야하는 경우 Singleton의 특성에 따라 다릅니다.
클러스터의 각 노드는 별도의 JVM에서 실행되므로 각 JVM (클러스터 노드)은 자체 Singleton을 갖습니다. 클러스터를 JVM의 시스템으로 보면 클러스터의 Singleton 인스턴스 수가 노드 수와 동일하다는 것은 사실입니다.
클러스터 전체 싱글 톤은 일반 Java 클래스로 구현할 수 없습니다. 싱글 톤을 제공하는 단일 (클러스터되지 않은) 서버 인스턴스가 필요할 수 있습니다.
싱글 톤은 단일 프로세스 내에서도 신뢰할 수 없습니다. 여러 클래스 로더를 통해 동일한 클래스를로드하고 여러 '싱글 톤'객체로 끝낼 수 있습니다.
싱글 톤은 이유 때문에 반 패턴입니다 - 피하십시오.
싱글 톤의 위치를 결정하기 위해 모든 노드가 조정되어야하기 때문에 클러스터의 경우가 훨씬 더 심각합니다. 이것은 네트워크 파티셔닝에 취약하기 때문에 유지가 불가능합니다. Brewer의 CAP Theorem에서 이에 대한 배경 지식을 제공합니다.
자주 사용 사례에 따라 다릅니다. 어떤 범위 (즉, ClassLoader 당)에 "싱글 톤"을 갖는 것으로 충분합니다. 일부 데이터를 캐싱합니다. 전체 캐시가 모든 사용자에게 표시되지 않으며 중복되거나 다른 데이터가 포함될 수 있기 때문에 효율성이 떨어질 수 있지만 제한 사항을 알고 있으면 패턴을 적용해도 괜찮습니다. – rurouni
- 1. 인라인 핸들러는 어떻게 처리됩니까?
- 2. classmethod 객체는 어떻게 작동합니까?
- 3. 델리게이트 객체는 어떻게 호출됩니까?
- 4. Linux에서 비동기 신호는 어떻게 처리됩니까?
- 5. URI가 REST API에서 어떻게 처리됩니까?
- 6. 요즘 헬프 파일은 어떻게 처리됩니까?
- 7. Poco C++ 이벤트는 어떻게 처리됩니까?
- 8. 파일 업로드가 HTTP에서 어떻게 처리됩니까?
- 9. 데이터가 파이프를 통해 어떻게 처리됩니까?
- 10. 기본적으로 Node.js 세션은 어떻게 처리됩니까?
- 11. 객체는
- 12. 2D 게임에서 게임 이벤트 길이는 어떻게 처리됩니까?
- 13. PHP 클래스/객체는 어떻게 테스트합니까?
- 14. autorelease 풀의 객체는 어떻게 참조됩니까?
- 15. ASP.NET에서 인증되지 않은 사이트 탐색이 어떻게 처리됩니까?
- 16. 스윙에서 멀티 버튼 프레스는 어떻게 처리됩니까?
- 17. C 파일 입출력 조작은 어떻게 저수준에서 처리됩니까?
- 18. Autorelease 풀의 개체가 Objective-C에서 어떻게 처리됩니까?
- 19. WPF : ListBox 항목을 클릭하면 어떻게 처리됩니까?
- 20. RSA 비공개 키 암호문은 어떻게 처리됩니까?
- 21. Javascript Date는 다른 언어로 어떻게 처리됩니까?
- 22. C++에서 클래스의 메모리가 어떻게 처리됩니까?
- 23. 이중 프로세서 컴퓨터에서 인터럽트는 어떻게 처리됩니까?
- 24. QGLWidget의 glXXX 함수 호출은 어떻게 처리됩니까?
- 25. 어떻게 활동 인스턴스 생성이 안드로이드에서 처리됩니까?
- 26. 추출 객체는
- 27. C++ 객체는 내가 가진
- 28. 알림 객체는
- 29. ActiveX 객체는
- 30. 프로세스 차원의 싱글 톤 객체는 어떻게 만듭니 까?
복제본 http://stackoverflow.com/questions/5909799/caching-mechanism-cluster-environment/5910303#5910303 –