세션 관리를 위해 여러 인스턴스에 Redis 사용

세션 관리를 위해 여러 인스턴스에 Redis 사용

안녕하세요. AWS opsworks를 구현하는 중입니다. PHP 앱 서버의 인스턴스는 여러 개이고 mysql의 인스턴스는 하나입니다. 세션 및 데이터 관리를 위해 redis와 phpredis를 사용할 계획입니다. Redis를 처음 접했기 때문에 이 시나리오에 대한 도움이 필요합니다.

PHP 앱 서버에 Redis를 설치해야 할까요? 사용자가 다른 서버로 이동하더라도 세션이 영향을 받지 않도록 세션 데이터를 자동으로 동기화합니까?

아니면 모든 PHP 앱 서버에 연결되는 별도의 인스턴스에 mysql을 따라 설치해야 합니다. 이 경우 저장소는 하나의 redis-server에만 있으며 모든 PHP 인스턴스에 제공됩니다.

다른 적합한 시나리오도 환영합니다. 저는 이러한 사항에 대해 매우 익숙하지 않으므로 최고의 아키텍처를 선택하는 데 도움을 주십시오.

답변1

별도의 인스턴스를 만들고 모든 PHP 인스턴스를 여기에 연결해야 합니다. 또는 Memcached와 Redis를 모두 지원하고 필요에 따라 확장할 수 있는 AWS Elasticache를 살펴볼 수도 있습니다. 각 PHP 인스턴스에 설치하면 "로컬 캐시"만 얻을 수 있지만 로드 밸런서가 사용자를 시작한 곳에서 다른 서버에 배치하면 세션 문제가 발생합니다.

관련 정보