Korzystamy z git dla projektu z wieloma witrynami i zarówno repo, jak i zespół znacznie się rozrosły. Dlatego zdalne strony cierpią. Chciałbym dodać nowe serwery git do zdalnych stron, aby zmniejszyć obciążenie naszego serwera git i przyspieszyć pobieranie. Jednak nie jestem pewien, jak zachować synchronizację. Czy istnieje sposób na atomową replikację serwerów git? A jeśli nie jakieś inne sugestie?replikacja serwera git
Odpowiedz
Możesz mieć główne "repozytorium", a wiele zdalnych, tylko do odczytu, z tego pobieraj rep. Z kolei użytkownicy zdaliby od nich. To dałoby większą prędkość pobierania z odległych stron. Przesyłki będą nadal takie same, ale wydaje się, że głównym problemem jest prędkość pobierania.
Nie można replikować atomowo. Mam nadzieję, że nie o to ci chodzi.
Napisałem gitmirror do automatycznego wyzwalania zdalnej replikacji opartej na ściąganiu na zmianę repozytorium. Wymaga to odrobiny konfiguracji, ale mam mnóstwo rzeczy przychodzących przez github do tego (i kilka, które nie używają github).
, co właściwie znaczyłem atomowo. Jednak gitmirror może rozwiązać drugą część mojego problemu, który był odbiciem lustrzanym. –
Atomowo jest całkiem dobrze niekompatybilny z globalnie rozproszonym systemem z dużą ilością ruchomych części. Jest to również niepożądane. Celem rozproszonego systemu kontroli rewizji jest umożliwienie działania tego rodzaju rzeczy nawet wtedy, gdy nie ma żadnego połączenia. – Dustin
- 1. Replikacja zastępcza po stronie serwera
- 2. Replikacja MySQL
- 3. Replikacja funkcji bramkowanego zameldowania w programie Visual Studio + VSO + Git
- 4. jak przekierować adres serwera git?
- 5. Replikacja wektora w R
- 6. CouchDB Filtrowana replikacja
- 7. Obiekt Amazon S3 Replikacja
- 8. Replikacja konfiguracji Solr
- 9. Replikacja String.split z StringTokenizer
- 10. Replikacja bazy danych Firebird
- 11. Replikacja GROUP_CONCAT dla pandas.DataFrame
- 12. Równoległa/nadmiarowa replikacja w CouchDB
- 13. CouchDB - Replikacja filtrowana - czy można poprawić prędkość?
- 14. Git-SVN: Zaktualizuj repozytorium Git ze scentralizowanego serwera SVN
- 15. Replikacja lub nalot na Kasandrę
- 16. Replikacja MySQL Tungsten vs. Galera
- 17. Elasticsearch replikacja innych danych systemowych?
- 18. Git: Jak mogę zmienić zatwierdzenie serwera?
- 19. Capistrano + Git: lokalny repozytorium do serwera produkcyjnego
- 20. Jak wyłączyć kompresję po stronie serwera git?
- 21. replikacja mongoDB + sharding na 2 serwerach uzasadnione?
- 22. Replikacja C# Server Side Validation w JavaScript
- 23. Replikacja peer-to-peer bazy danych sqlite
- 24. Replikacja tablic zgodna z elementami według liczby
- 25. Replikacja dwukierunkowa dla tej samej tabeli MySQL
- 26. Tymczasowo wstrzymaj replikację serwera SQL
- 27. Najlepsza strategia Git do testowania różnych wersji klienta i serwera.
- 28. "Właściwy" sposób na ciągnięcie git "gałęzi produkcji" do serwera produkcyjnego
- 29. klient zaprzeczył konfiguracji serwera podczas próby użycia git-http-backend.exe
- 30. git serwera hosta nie buforowane w rejestrze - GitHub.com
Myślałem o tym samym. Jak jednak uniknąć sytuacji, w której commit jest przeciwko poleceniu z serwera tylko do odczytu, który nie jest aktualny? Wydaje mi się, że może to powodować pewne problemy (scalanie/rywalizacja itp.). –
Pchnięcie zakończy się niepowodzeniem, a użytkownik będzie musiał ponownie pobrać i scalić lub ponownie ustawić i ponowić próbę. Zachęcaj do dobrych, czystych i częstych zobowiązań, a to nigdy nie będzie dla ciebie problemem. Jeśli wszyscy pracują cały dzień od porannego szarpnięcia i wykonują jeden końcowy "czas, by wrócić do domu", a oni wszyscy pchają to w prawo, gdy gwizd wieje, rywalizacja i dodatkowa praca generowana tam są tylko symptomy. :) – Dustin
Ten sam problem mógł wystąpić, jeśli wyciągnąłeś go z _central_ repo i ktoś popełnił commit po tym, jak go wyciągnąłeś. Możesz łatwo ustawić hak lub cron, które sprawią, że repliki _satellite_ nie będą nigdy więcej niż kilka minut za _central_ repo – Andy