우리는 4 대의 IIS 서버에 워드 프레스 환경을 설정했습니다. 우리는 robocopy 스크립트를 트리거하는 예약 된 작업을 사용하여 5 분마다 wordpress 디렉토리를 복제하려고합니다.
그러한 접근법에 대한 의견은 무엇입니까? 누구든지 이것을 사용하거나 비슷한 적이 있습니까?
우리는 4 대의 IIS 서버에 워드 프레스 환경을 설정했습니다. 우리는 robocopy 스크립트를 트리거하는 예약 된 작업을 사용하여 5 분마다 wordpress 디렉토리를 복제하려고합니다.
그러한 접근법에 대한 의견은 무엇입니까? 누구든지 이것을 사용하거나 비슷한 적이 있습니까?
답변:
같은 파일을 동시에 공유하는 4 개의 프런트 엔드 서버가 있고 각각 디렉터리 동기화 전용 DFS 또는 타사 프로그램을 사용하지 않고 쓸 수있는 것은 밤의 악몽입니다.
하늘빛으로 3 가지를 살펴볼 수 있습니다.
공유 스토리지, 자체 전용 스토리지를 얻는 데 드는 비용이있을 수 있으며 Azure는이 구성을 제공하지는 않습니다. 이렇게하면 모든 파일을 작성하자마자 각 서버에서 사용할 수 있습니다.
Azure DFS, DFS는 Windows 기반 디렉터리 동기화 도구로, 제대로 작동하지만 비용은 확실하지 않지만 구성이 약간 더 쉽습니다. DFS는 비동기 적으로 작동하므로 약간의 지연이 있지만 그리 많지는 않습니다.
(이 작업이 어떻게 수행되는지 설명하고 다시는 말하지 않을 것입니다. 끔찍한 아이디어이기 때문에 실패 할 것입니다.) 먼저 네 서버 모두에서 데이터를 비교 한 다음 차등 데이터를 복사하는 스크립트를 작성하십시오. 각 디렉토리를 스크립트를 실행하는 하나의 서버, 설치 권한으로 서버를 읽고 쓴 다음 문제 해결, 문제 해결을 수행 할 수 있도록 설정 권한을 공유해야합니다.
위의 옵션 중 하나가 작업을 수행하지만 작업 이이 작업에 의존하는 경우 옵션 3을 멀리하는 것이 좋습니다.
그렇게 말하고 돈을 쓰려고하지 않는다면 아래 단계를 따르십시오.
"무료 파일 동기화"라는 프로그램을보십시오. 무료 버전에는 정말 좋은 기능이 있습니다. 유료 버전이 있다고 생각하지만 개선 사항이 확실하지 않습니다. 나는 당신이 찾고있는 것과 비슷한 것을 달성하려고 할 때 많은 개발 환경에서 그것을 사용했으며 DFS를 설정하기 위해 게으른했습니다.
하나의 서버 만 쓰기 가능하게 만드십시오. 각 서버에서 기사 작성이 ServerA로 이동하는지 또는 web.config에서 URL을 다시 작성하는지 또는 WordPress가 PHP 사용인지를 나타내는 URI를 구성하여 쉽게 수행 할 수 있습니다.
header ( '위치 : http://myhost.com/mypage.php ');
각각 약간의 코딩과 PHP 지식, IIS 지식이 필요합니다.
짧은 대답 당신은 정확히 사실이 아닙니다, 나는 한 번의로드 밸런서를 사용하지 않는 것에 대해 단호한 고객을 가졌습니다. 각 박스의 작업자 프로세스 또는 이와 유사한 것. 어느 쪽이든하기가 어렵고 시간과 에너지를 투자 할 가치가 없습니다.
서버에서 네트워크로드 균형 조정을 구성 할 수없는 경우 추가 IP가 필요하지만 하나의 DNS 변경 만 필요하며 3 대의 서버에서 읽기 위해 트래픽을 분산시킬 수 있습니다.
행운을 빕니다!
모든 제안에 감사드립니다.
우리 솔루션은 resilio라는 도구를 사용하여 피어 투 피어 동기화 방식을 사용하고있었습니다.
Resilio를 사용하면 피어 투 피어 동기화 클러스터에서 여러 컴퓨터 (이 경우 IIS 프론트 엔드)를 구성 할 수있었습니다. 클러스터의 각 컴퓨터에서 폴더가 선택되어 동기화 프로세스에 사용됩니다.
resilio 서비스 (백그라운드에서 실행되는 Windows 서비스)는 이러한 폴더에서 변경 사항을 모니터링하며 문제가있는 프런트 엔드의 지정된 폴더가 변경되면 resilio가 해당 변경 사항을 다른 서버로 푸시합니다.
이것이 앞으로 비슷한 문제에 직면 한 다른 사람들을 도울 수 있기를 바랍니다.
나는 예정된 작업과 Robocopy가 훌륭한 접근법이라고 생각하지 않습니다. 5 분의 창으로 인해 리소스가 요청되지만로드 밸런서가 선택한 서버에서 사용할 수없는 시간이 있습니다. 정적 사이트가 많을 경우 사용량이 많은 사이트를 자주 변경하는 것보다 훨씬 덜 자주 발생합니다. 높은 주파수 또는 Bittorrent Sync (현재 Resilio Sync ) 와 같은 다른 동기화 기술을 사용하면 이 기능이 약간 향상되지만 문제는 해결되지 않습니다.
wp-content 또는 wp-content / uploads 폴더를 공유 드라이브에 넣는 것이 더 나은 솔루션입니다. 이것을 보는 또 다른 방법은 서버 중 하나가 해당 폴더를 호스팅하고 다른 서버가 공유하도록하는 것입니다. 디스크 캐싱을 사용하면 서버의로드가 다른 서버보다 훨씬 높아서는 안됩니다.
최신 정보
한 번 봐 가지고 이 기사 페이지 캐싱에 대한 아이디어, 그리고 이 하나의 CDN에 대한합니다. Nginx에 관한 것이므로 IIS에서 해결해야하지만 그 배후의 이론은 모든 웹 서버에 유효합니다.