우선 현재 휴대폰으로 작성하고 있어서 짧고 다정한 내용이라도 양해 부탁드립니다..
전반적으로 웹 기반 응용 프로그램을 호스팅하기 위해 여러 전용 컴퓨터를 설정하는 방법에 대한 세부 사항을 찾으려고 노력 중입니다. 현재 우리는 이 요구 사항에 대한 직접적인 요구 사항을 가지고 있지 않지만 곧 요구 사항이 예상되며 모든 초기 설정에서 향후 확장성이 큰 혼란이 아니라 반쯤 원활한 트랜잭션인지 확인하고 싶습니다.
나의 주요 관심사는 데이터베이스입니다. 우리는 mysql을 사용하고 있으며 단일 시스템 환경에서 전체 램프 스택으로 사용되는 것을 본 적이 있습니다. 하지만 성장함에 따라 여러 컴퓨터에 걸쳐 작동하도록 어떻게 작동할지 궁금합니다. 물리적인 저장소 수준뿐만 아니라 앱에 대한 접근성도 중요합니다. 내 첫 번째 생각은 데이터베이스가 구조에서만 미러링되고 데이터는 미러되지 않는 2개 이상의 머신이지만, 머신 1의 데이터가 앱에서 필요할 수 있으므로 머신 2+의 데이터도 필요할 수 있으므로 데이터 가용성이 예상되는 문제입니다. , 그러나 데이터가 동적이기 때문에 필요한 일치 항목이 발견될 때까지 모든 DB를 쿼리해야 하므로 처리가 과도해 보입니다. 그렇다면 기계가 다음 기계로 넘어가서 그들 사이에 하나의 대규모 데이터 세트를 만드는 것이 가능합니까?
전반적으로 제가 말했듯이 저장 제약과 병목 현상 문제를 처리합니다. 로드 균형을 조정할 수 있는 방식으로 관리하고 싶기 때문입니다.
다른 곳에서 정보를 찾을 수 있는지 잘 모르겠습니다. 검색 결과 관련성이 전혀 없으며 이는 올바른 내용을 찾지 않았기 때문일 가능성이 높으므로 여기에 있는 조언이 시작/종료 지점으로 크게 감사하겠습니다.
답변1
모든 트래픽을 허용하는 HAProxy 게이트웨이를 사용할 수 있습니다. 이를 통해 여러 개의 물리적 또는 가상 서버를 호스팅할 수 있습니다. 기본적으로 각 요청은 HAProxy 게이트웨이 시스템을 통과하여 고가용성 클러스터에 있는 X개의 서버 중 하나로 전송됩니다. 각 서버에는 WWW 데이터가 있으며 별도의 데이터베이스 서버를 가질 수 있습니다. MySQL 데이터베이스 서버는 관리되는 서버가 있는 클러스터에서 복제되거나 구성될 수 있습니다.