말씀드렸듯이 저는 지금 redis를 배우고 있는데 마스터-슬레이브 구성을 봤습니다. 그런 다음 슬레이브를 읽기 전용으로 구성한 다음 마스터가 RDB를 닫는 몇 가지 방법을 확인했습니다. 온라인에서 redis 마스터-슬레이브 구성을 찾아보니 데이터베이스 읽기 및 쓰기를 분리하고 데이터베이스 부담을 줄일 수 있다고 말했습니다. 슬레이브 서버가 쓰기를 할 수 없다는 점 외에 읽기와 쓰기의 분리는 어디에 반영되는지 여쭤보고 싶습니다. 제 질문은 데이터베이스에서 읽기와 쓰기를 분리하려면 프로그램 지원이 필요한가요?입니다. (읽을 때는 데이터 소스를 슬레이브를 가리키고, 쓸 때는 마스터를 가리킵니다.) 프로그램이 이를 수행하지 않으면 마스터-슬레이브 구성이 의미가 없습니까?
읽기와 쓰기의 분리(데이터 계층)가 상위 계층(논리 계층)에 투명한 것이 일반적인 논리입니다. 그렇지 않으면 커플링이 발생합니다. 데이터 서비스를 항상 사용할 수는 없습니다
항만사업 쪽을 변경하고 이 코드를 따르세요.
일반적인 읽기-쓰기 분리는 미들웨어 또는 플러그인 형태로 발생하며 이는 비즈니스 로직 계층에 투명합니다(역방향 프록시처럼 백그라운드에
데이터 서비스가 하나만 있다고 생각함) , redis는 이 형식에서
클러스터의 노드를 균일하게 예약하기 위해 어느 것이 읽고 있고 어느 것이 쓰고 있는지 결정합니다. MySQL의 읽기-쓰기 분리 또는 마스터-슬레이브는 모두 플러그인을 통해 수행됩니다.
읽기와 쓰기의 분리는 논리 계층 코드에 반영될 수 없다는 점을 기억하세요(읽기 작업은 A 서비스의 연결을 사용하고 쓰기 작업은 B 서버의 연결을 사용함).