eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingModułowość programu - założeniaRe: Modułowość programu - założenia
  • Data: 2011-09-18 12:49:23
    Temat: Re: Modułowość programu - założenia
    Od: Paweł Kierski <n...@p...net> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2011-09-18 10:59, Patryk Włos pisze:
    >>> Za my, e mamy aplikacj obs uguj c kilkaset da na minut . W
    >>> przypadku odpowiednio rozwi zanego systemu plugin w mo emy oznaczy
    >>> plugin jako przeznaczony do wy adowania(zostanie wy adowany gdy sko cz
    >>> si wszystkie po czenia), za adowa now wersj i mie aktualizacj bez
    >>> downtime.
    >>
    >> Widziałeś już coś takiego w praktyce? Nazwa produktu, please.
    >
    > Serwerowe programy antywirusowe tak działają. Kaspersky przykładowo.
    > Nawet ClamAV, tylko ClamAV nie ma w swoich bazach prekompilowanego kodu
    > wykonywalnego, a same sygnatury. Ale idea ta sama.
    >
    >> BTW - co to znaczy "gdy skończą się wszystkie połączenia" i czym to
    >> się różni od downtime?
    >>
    >> BTW2 - a co jak się połączenia nie skończą, bo zawsze przyjdzie jakieś
    >> nowe i nigdy nie będzie ich zero? Trzeba zrobić jakiś mechanizm, który
    >> nie pozwoli na stworzenie nowych połączeń. I czym *to* się różni do
    >> downtime z punktu widzenia tego odrzuconego klienta?
    >
    > W antywirusach jest taki patent, że połączenia odebrane do pewnego
    > momentu są obsługiwane przez stary silnik, a po tym momencie już przez
    > nowy silnik (czyli w pewnym zakresie czasu działają oba silniki
    > jednocześnie i po zakończeniu obsługi starych połączeń stary silnik jest
    > wywalany z pamięci).

    To, że tak się robi, to nie znaczy, że ta metoda jest warta polecenia.
    Sam coś takiego pisałem w AV, ale teraz bym tego nie powtórzył 8-)
    Na desktopie lepiej wymusić restart engine'u (co najwyżej blokując na
    ten czas sieć).

    A na serwerach - lepiej mieć hot-swap na poziomie aplikacji
    (równoległych instancji razem ze sprzętem).

    Teraz mam system, który wygląda, jakby się prosił o rozwiązanie
    z dynamicznym ładowaniem modułów, Mam graf przetwarzania, przez
    który płyną komunikaty. Każdy węzeł to moduł, który robi specyficzne
    przetwarzanie.

    Ale zrezygnuję z dynamicznego ładowania Właśnie na rzecz tworzenia
    nowych instancji, które będą miały wkompilowane nowe/zmienione moduły.
    Wystarczyło dodać moduł generycznego serwera i klienta, żeby połączyć
    grafy z różnych instancji. Jeśli muszę wymienić kawałek grafu, mogę
    zrobić obejście przez inną instancję aplikacji - do czasu najbliższego
    down-time'u, który i tak czasem musi wystąpić.

    --
    Paweł Kierski
    n...@p...net

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: