Print

Konfiguracja farmy serwerów frontend AMODIT

Komunikacja w farmie serwerów

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.

Poniżej przykład farmy serwerów

  • 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.

Konfiguracja

Zmiany w pliku web.config aplikacji webowych (witryn)

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"/>

Parametr systemowy LoadBalancedServers

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.

Dostęp

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

 

Czy artykuł był pomocny?
0 na 5 gwiazdek
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?