Przejdź do głównej zawartości

Konfiguracja farmy serwerów frontend AMODIT

Jeżeli AMODIT jest zainstalowany na więcej niż jednym serwerze IIS lub witrynie, to zmiana wprowadzona na jednym serwerze, np. w procedurze, regule czy danych użytkownika, nie będzie widoczna na innych serwerach do czasu wygaśnięcia cache na tych serwerach albo do resetu puli aplikacji.

Podobna zasada dotyczy działania mechanizmu SignalR. Komunikat wysyłany z jednego serwera nie będzie docierał do użytkowników przypisanych do innego serwera.

AMODIT ma wbudowane mechanizmy komunikacji pomiędzy serwerami w farmie, ale wymagają one skonfigurowania.

  • Dwa serwery aplikacyjne pracujące jako farma serwerów – amoditap1, amoditap2;
  • Na każdym serwerze dwie instancje AMODIT:
    • dla zwykłych użytkowników – amoditap1v, amoditap2v;
    • dla administratorów – amoditap1vadm, amoditap2vadm;
  • Odrębny serwer z bazą danych, z którego jednocześnie korzystają serwery aplikacyjne – amoditdb.

W każdej witrynie w pliku web.config należy wprowadzić odpowiednie, unikalne wartości dla klucza WebSiteName. Najlepiej będzie, gdy nazwa jest jakoś powiązana z nazwą serwera. Wprowadzoną nazwę należy wprowadzić w parametrze „name” w JSON opisanym w następnym rozdziale poniżej. To jest potrzebne po to, aby „siebie” nie synchronizować. Przykład dla serwera amoditap1v:

<add key="WebSiteName" value="amoditap1v"/>

W ustawieniach systemowych AMODIT należy wprowadzić wpis w formacie JSON do parametru LoadBalancedSevers ([5] na poniższym obrazku).

Przykładowy JSON z tabelą zawierającą listę serwerów dla przykładowej farmy serwerów:

[ {name: "amoditap1v", url: "http://amoditap1v:81"},
{name: "amoditap1vadm", url: "http://amoditap1v:82"},
{name: "amoditap2v", url: " http://amoditap2v:81"},
{name: "amoditap2vadm", url: " http://amoditap2v:82"}]

UWAGA! W tym przykładowym środowisku, na każdym z serwerów są 2 witryny – normalna (port 81) i do dostępu administracyjnego (port 82). Te witryny muszą mieć oddzielne wpisy.

Komunikacja jest poprzez endpoint api/server – powinien on być dostępny anonimowo albo do witryny musi mieć dostęp konto puli aplikacji .