2012-08-08 4 views
1

DEV 및 PROD 환경에서 문제없이 실행되는 Grails 2.0.0 웹 애플리케이션이 있습니다. 두 환경 모두 Tomcat 7을 실행하는 CentOS 6.0 서버에 있습니다.Amazon Cloud Web Services에서 Grails 애플리케이션 세션 데이터로 인한 오류

고객 요구 사항으로 인해 Amazon의 웹 서비스를 사용하여 클라우드에 응용 프로그램을 배포해야했습니다. 세션 데이터를 읽거나 쓰는 모든 양식 필드 (예 : 드롭 다운 상자)에서 이상한 동작을보고 있습니다. 예를 들어, 드롭 다운 상자에서 값을 선택하면 선택한 값을 세션에 저장하고 ajax 호출 후 해당 국가 데이터 목록을 필터링하여 호출해야합니다. "버뮤다"를 선택하면 실제로 선택하지 않은 (드롭 다운 값이 아약스 호출 후) 다른 국가로 변경됩니다.

세션 변수에 잘못된 국가가 포함되어 있음을 확인했지만 응용 프로그램 관련 코드가 모두 올바르게 작동하고 있음을 확인했습니다 (DEV 및 PROD 환경에서도 그렇듯이). 이 문제는 다른 환경 구성의 결과 일 수 있다고 생각합니다. 내 DEV/PROD 환경에서는 CentOS 6.0을 사용하지만 Amazon 클라우드 환경에서는 Red Hat Linux를 사용합니다. Amazon은 CentOS 이미지를 제공하지 않으므로 Red Hat은 내가 찾을 수있는 가장 가까운 맛이었습니다.

구성의 차이가 기능에 영향을 줄 수 있는지 궁금합니다. 또는 아마도 아마존에만 국한된 것이 될 수 있습니다. 예를 들어, 모든 수신/발신 트래픽은 Amazon의 내부 Threat Management Gateway (TMG)를 통과합니다. 아마도 이것은 세션 데이터에 영향을 미치고 있습니까?

비슷한 경험을 한 사람이 있습니까? 아니면 누군가가 올바른 방향으로 나를 가리킬 수 있습니까? 이 문제는 지금 몇 주 동안 저에게 영향을주었습니다 ...

고마워요!

답변

0

문제는 Microsoft TMG가 캐싱을 수행하도록 설정되어있어 문제가 발생했습니다.

0

RedHad, CentOS 및 Amazon Linux는 거의 동일한 패키지를 사용하지만 달리 실행을 방해하지 않는 추가 패키지는 제외됩니다.

Amazon TMG는 네트워크 패킷을 차단하지만 패킷 내용을 변경하지 않기 때문에 문제가되지 않는다고 생각합니다.

  1. 당신이 2.0.4 또는 2.1.0에 Grails의 버전을 업그레이드하는 것을 시도했다 :

    그런 다음 그것은 단지 바람둥이, Grails의 및 응용 프로그램을 지속?

  2. ajax 요청이 실제로 처리되고 있음을 로그에서 확인 했습니까?
  3. Xms, Xmx 및 PermGen 바람둥이 구성은 무엇입니까?
  4. EC2 VM의 크기는 얼마입니까? m1.micro라면 m1.small로 변경해야합니까? 또한

내가 EC2를 사용 Elastic Beanstalk라는 다른 아마존 제품, 시도 조언을 것, 매우 단순화 된 통합 콘솔을 제공하는 자동 스케일링 그룹, 탄성로드 균형 조정 및 클라우드 시계, 환경 관리가 매우 신속하게합니다 다른 구성을 테스트 할 수 있습니다.

오늘 MySQL을 설치했다면 MySQL RDS 인스턴스로 바꾸고 EC2 인스턴스를 웹 응용 프로그램 용으로 남겨 둘 수 있습니다.

+0

지연된 응답으로 불편을 끼쳐 드려 죄송합니다. 귀하의 제안을 모두 고려해 보았습니다. TMG 내에있는 Windows 시스템에서 테스트했을 때 문제가 발생하지 않는 것으로 보입니다. 불행히도, 우리는 아직 그 기계에 접근 할 수 없지만 다른 팀이 그 기계를 조사하고 있습니다. 일단 내가 더 많이 듣고 나면 반드시 스레드를 업데이트 할 것입니다. 당신의 도움을 주셔서 감사합니다! – littleK

관련 문제