현재 한 서버에서 호스팅되는 웹 사이트가 있으며 새 서버를 추가하려고합니다. 주요 문제는 캐싱에 관한 것입니다. 일부 항목은 변경된시기에 따라 캐시됩니다. 그러나 지금은 같은 프로세스에서 변경되므로 캐시가 무효화 될 수 있습니다.여러 서버가있는 부실 캐시 처리
웹 사이트가 두 대의 서버에서 호스팅되는 경우 두 서버 모두에서 변경 사항을 적용 할 수 있으며 이러한 변경 사항은 통보되지 않습니다. 캐시는 웹 사이트 속도를 크게 높여야합니다. 캐시보다는 메모리 속도가 느려지고 서버에 복잡성이 추가되므로 캐시가 캐시 서버에서 프로세스 외부로 가져 오지 않는 것이 좋습니다.
웹 사이트는 닷넷으로 구현되며, MySQL은 데이터 저장소를 지원합니다. 내 문제는 데이터가 변경 될 때 프로세스에 알림을 보내는 방법입니다. 데이터가 변경 될 때 MySQL이 등록 된 모든 클라이언트에게 자동으로 알릴 수 있습니까? 필자는 비슷한 기능을 가진 RavenDb를 매우 편리하게 사용했습니다. 나는 MySQL과 비슷한 것을 찾을 수 없었다. 이것이 가능하지 않다면 어떻게이 문제에 접근 할 수 있을지에 대한 아이디어가 있습니까?
예, 기본 인 메모리 캐시를 실행 중입니다. 문제는 이것이 오래된 코드베이스이며 캐시의 일부 객체가 쉽게 직렬화 할 수 없다는 것입니다. 따라서 메모리 내에서 잘 작동하지만 out-of-process에서는 직렬화가 필요합니다. Couchbase는 캐시 서버가 아닌 NoSQL 데이터베이스 인 것 같습니다. 나는 이제 궁극적으로 일관성을 유지해야한다고 생각합니다. 데이터베이스 서버가 변경 알림을 지원하면 구현할 수있는 부분입니다. 불행히도 MySQL은 그렇게 보이지 않습니다. –
@KarlCassar Couchbase는 중간 정도입니다. 내부적으로 memcached를 사용하지만 키 수준에서 디스크 백업 및 원 자성을 제공하므로 일종의 가벼운 메모리 데이터베이스입니다. 우리는 디스크지지면보다 캐싱면을 더 사용하는 경향이 있습니다. –