로드 밸런싱 환경에서 실행되는 응용 프로그램은 웹 서버 A 및 B를 사용합니다. 로드 밸런싱은 HTTP 수준이므로로드 밸런서는 각 사용자 요청을 둘 중 하나 웹 서버.spring.net 응용 프로그램 범위 저장소 객체로드 밸런싱 응용 프로그램
응용 프로그램의 저장소 범위는 spring.net 컨테이너 에 의해 관리되며 응용 프로그램은 저장소에서 캐싱 할 수있는 데이터 (성능상의 이유)를 사용합니다.
이 경우 두 웹 서버의 저장소에 캐시 된 데이터가 동일하다는 것을 확신 할 수 없습니다.
이런 종류의 문제를 관리 할 수있는 메커니즘이 spring.net에 있습니까? 아니면 이런 종류의 또 다른 공통 접근법이 있습니까?
아이디어가 있으십니까?
들으,
버트
답장을 보내 주시면 스프링 컨테이너를 캐시로 사용하고 있지는 않지만 관리 대상 객체는 캐시 된 데이터를 가질 수 있습니다. ddd-repositories에 데이터를 저장하는 것은 나쁜 습관입니까? 왜 그런데? (응용 프로그램이 여러 웹 서버로 확산된다는 사실 외에도) –
데이터를 객체에 저장한다는 것은 메모리에 저장한다는 것을 의미하기 때문입니다. 많은 양의 데이터가있는 경우 서버에서 메모리 사용량이 많아 질 수 있습니다. 또 다른 문제점은 캐시 분배입니다. 웹 팜 시나리오에서는 캐시 된 분산 시스템이 의미하는 데이터를 동기화 상태로 유지해야합니다. –