Edit wyjaśnienie
Przed wszystkim innym, należy zrozumieć, że po uruchomieniu perform_async
, to po prostu wciska zadania w kolejce Redis. Sidekiq obserwuje tę kolejkę i uruchamia zadania, kiedy wchodzą. Tak długo, jak twoja aplikacja i twój Sidekiq patrzą na ten sam serwer Redis (i ta sama baza danych, oczywiście), wszystko będzie działać.
Original odpowiedź
Po pierwsze, jak można się domyślić, będzie musiała duplikat kasę swojego kodu, dzięki czemu można go uruchomić. Nie ma sprawy.
Po drugie, będzie potrzebować dostępu do bazy danych i serwerów redis w drugim polu. Oznacza to upewnienie się, że te porty są otwarte na drugim serwerze. To może być trudne, b/c idealnie nie chcesz osób narażonych na otwarty Internet. Zwykle w przypadku konfiguracji z wieloma kartami masz tylko jedną skrzynkę otwartą w Internecie. Komunikuje się z resztą swoich skrzynek na prywatne adresy IP:
publiczny serwer WWW
Runs Apache/Nginx i może serwerów aplikacji.
Private Server App (s) (opcjonalnie)
Runs serwerów aplikacji, jeśli nie są one uruchomione na serwerze publicznym. Łączy się z serwerem bazy danych i Redis.
Prywatna Sidekiq Server (s) (opcjonalnie)
Runs Sidekiq. Łączy się z serwerem bazy danych i Redis.
Private Database/Redis Server
Prowadzi bazę danych i Redis. Oczywiście w razie potrzeby można je podzielić na różne serwery.
Czy przejrzeliście [to wiki na stronie Gytetów Sidekiqa] (https://github.com/mperham/sidekiq/wiki/Advanced-Options)? – Kashyap
Tak, ale nie mogłem znaleźć niczego związanego z tym, o co pytam. Proszę popraw mnie jeżeli się mylę. – Ovesh