Posiadanie 4 serwerów front-end, które współużytkują te same pliki w tym samym czasie i każdy jest w stanie pisać bez użycia DFS lub programu innej firmy dedykowanego do synchronizacji katalogów, byłoby koszmarną klaczą.
Dzięki lazurowi możesz przyjrzeć się 3 rzeczom.
Magazyn współdzielony, może istnieć pewien koszt związany z uzyskaniem własnego magazynu dedykowanego i nie jestem pewien konfiguracji, jednak platforma Azure to oferuje. Dzięki temu wszystkie twoje pliki będą dostępne na każdym serwerze, jak tylko zostaną zapisane.
Azure DFS, DFS to narzędzie do synchronizacji katalogów oparte na systemie Windows, które działa dość dobrze, nie jest również pewien kosztów, ale konfiguracja może być nieco łatwiejsza. DFS działa asynchronicznie, więc występuje niewielkie opóźnienie, ale niewiele.
(Zamierzam wyjaśnić, jak by to zrobić, a potem nigdy więcej o tym nie rozmawiać, ponieważ jest to okropny pomysł i zawiedzie.) Utwórz skrypt, który najpierw porówna dane na wszystkich czterech serwerach, a następnie skopiuje dane różnicowe. Będziesz musiał udostępnić każdy katalog jednemu serwerowi, na którym działa skrypt, zezwolić na konfigurację, aby serwer mógł czytać i pisać, a następnie rozwiązywać problemy, rozwiązywać problemy.
Każda z powyższych opcji wykona pracę, jeśli twoja praca zależy od tej pracy, polecam trzymać się z dala od opcji 3.
Biorąc to pod uwagę, a nie próbujesz wydawać żadnych pieniędzy, wykonaj poniższe czynności.
spójrz na program o nazwie „bezpłatna synchronizacja plików”. Istnieje kilka naprawdę dobrych funkcji w darmowej wersji. Wierzę, że jest płatna za wersję, ale nie jestem pewien, jakie ulepszenia otrzymujesz. Używałem tego w wielu moich środowiskach programistycznych, gdy próbowałem osiągnąć coś podobnego do tego, co chcesz zrobić, i miałem leniwość przy konfigurowaniu DFS.
Ustaw tylko jeden serwer do zapisu, można to łatwo zrobić, konfigurując identyfikator URI na każdym serwerze, który mówi, że jeśli utworzysz artykuł, przejdź do ServerA, lub przepisujesz adres URL w pliku web.config, lub że WordPress to php:
nagłówek („Lokalizacja: http://myhost.com/mypage.php ”);
Każdy wymaga trochę kodowania i znajomości PHP, IIS.
- Naprawdę fajna część, ponieważ ServerA jest serwerem autorskim (tylko serwer z możliwością zapisu), w jaki sposób kierujemy ruch do ServerB, ServerC i ServerD w celu odczytu bez modułu równoważenia obciążenia?
Krótka odpowiedź, której nie możesz, no cóż, to nie do końca prawda. Miałem kiedyś klienta, który był nieugięty, aby nie używać modułu równoważenia obciążenia, który był w stanie przeprowadzić serię skryptów PowerShell, aby przenieść połączenie z jednego serwera na inny na podstawie ilości procesy robocze na każdym pudełku lub coś takiego. Tak czy inaczej bardzo trudne do zrobienia i nie warte czasu i energii.
Sprawdź, czy nie możesz skonfigurować równoważenia obciążenia sieciowego na serwerach, będzie to wymagało dodatkowego adresu IP, ale będzie to tylko jedna zmiana DNS, a ruch może zostać rozdzielony na odczyt na 3 serwerach.
Powodzenia!