Programistka ninja
  • Home
  • O nas
  • lista Blogów IT
Nowości
#whatTheHeck : Czym jest JavaEE i co ma...
#personalnie: Java – Książki, które podobno musisz przeczytać
Switch over Object Type in Java
Architektura Reaktywna
  • Home
  • O nas
  • lista Blogów IT
Programistka ninja Programistka ninja
Autor

Patrycja

Paweł Widera
Avatar
Paweł Widera i Patrycja

    #reactiveArchitecture

    Architektura Reaktywna

    by Patrycja 4 grudnia 2019
    written by Patrycja

    Sekcje w tym poście:

    1. Dlaczego reaktywność?
    2. Manifest Reaktywności

    Dlaczego reaktywność?

    Zanim zagłębimy się w szczegóły architektury reaktywnej zadajmy sobie pytanie dlaczego w ogóle reaktywność? Mianowicie co co takiego zmieniło się w naszym świecie, że zaczęliśmy szukać nowych rozwiązań na tworzenie systemów. Czy stara i dobrze nam znana monolityczna architektura trójwarstwowa jest już przestarzała?

    Tak naprawdę na przestrzeni ostatnich kilkunastu lat technologia zaczęła wkraczać w coraz to nowsze dziedziny funkcjonowania człowieka. I nie mówimy tu tylko o wszelkiego rodzaju urządzeniach smart, które towarzyszą nam w codziennym życiu. Mówimy tutaj o tym, że weszliśmy w nową erę. Czas cyfrowej transformacji.  Oznacza to, że wszystkie firmy, które chcą się liczyć na rynku zamieniają swoje papierowe procesy na systemy informatyczne.

    I tak w 2016r w raporcie firmy McKinsey określony został potencjał cyfryzacyjny Europy na poziomie 12%. Oznacza to, dwie rzeczy. Po pierwsze przed nami wszystkimi jest jeszcze wiele systemów do napisania. Po drugie na świecie istnieje ciagle mnóstwo danych, które w przyszłości będziemy musieli zdigitalizować.

    Warto także zwrócić uwagę, że zmienia się podstawowy kanał do komunikacji z klientem. Dzisiaj większość użytkowników woli korzystać z aplikacji na telefonie niż z przeglądarek w swoich komputerach. Oznacza to, że w każdej minucie, każdej sekundzie maja dostęp do naszych systemów, które tak samo jak infrastruktura droga powinny być przygotowane na godziny szczytu.

    Obecne systemy nie wyglądają już tak jak kiedyś. W tej chwili rządzą nimi takie trendy jak między innymi środowisko rozproszone, skalowalność, kontenery, mikroserwisy, kolejki czy eventy. Co więcej, nawet te proste mają wiele kanałów wejściowych i wyjściowych, a struktura komunikacyjna pomiędzy aplikacjami i usługami przypomina raczej pajęczą sieć.

    Manifest Reaktywności

    Ilość dostępnych w środowisku danych, usług i funkcjonalności urosła do tak dużego poziomu, że potrzebne był nowe rozwiązania. I tak rozpoczęła się w 2013 roku historia Architektury Reaktywnej. Zebrała się wtedy grupa specjalistów z zakresu wydajnego programowania rozproszonego pod przewodnictwem dyrektora technologicznego firmy Lightbend. Jest to firma która stworzyła m.in narzędzie Akka.

    W wyniku pracy tego zespołu powstał dokument nazwany The Reactive Manifesto. Określa on cztery podstawowe cechy, które musi spełniać system, aby można było go nazwać reaktywnym .

    Responsywny (Responsive) – system powinien odpowiadać w najszybszym czasie jak to możliwe

    Niezawodny (Resilent) – system powinien pozostać responsywny nawet w przypadku awarii. Jeśli natomiast taka ma już miejsce to powinna ona być ograniczona do tylko 1 elementu. Możemy to uzyskać np. poprzez izolacje ( instalowanie 1 usługi na 1 serwerze) lub replikacje ( powielanie naszych usług na różnych serwerach)

    Elastyczny (Elastic) – możliwość automatycznego skalowania w zależności od ruchu. Jak również unikanie wąskich gardeł. Uzyskiwane np. poprzez wspomnianą już replikacje lub sharding danych ( dzielenie danych na mniejsze partycje, którym szybciej i łatwiej się zarządza)

    Oparty na komunikatach (Message Driven) – wymiana informacji przy pomocy asynchronicznych komunikatów. Dzięki temu uzyskujemy luźne powiązania między aplikacjami.

    System reaktywny to system, którego reaktywność jest manifestowana na wszystkich poziomach. Również na poziomie pojedynczego komponentu czyli aplikacji. 

    The Reactive Manifesto

    Należy tutaj jednak pamiętać o jednej bardzo ważnej rzeczy, że system reaktywny to system, którego reaktywność jest manifestowana na wszystkich poziomach. Architektura Reaktywna odpowiada na problem projektowania całego systemu złożonego z wielu aplikacji i usług. Jak zatem poprawnie zaprojektować aplikację, która będzie reaktywnie funkcjonować w takim środowisku? Reaktywność na poziomie pojedynczej aplikacji, także wymaga odpowiedniego podejścia. Jedną z pomocnych w tym zakresie technologi jest programowanie reaktywne. Zapraszam Cię do kolejnego posta, już wkrótce.

    > zobacz inne posty z cyklu „Architektura Reaktywna”
    4 grudnia 2019 0 komentarzy
    3 FacebookTwitterLinkedinEmail
  • #personalnie

    #personalnie: Java – Książki, które podobno musisz przeczytać

    by Patrycja 19 kwietnia 2018
    by Patrycja 19 kwietnia 2018
    3 FacebookTwitterLinkedinEmail
  • #whatTheHeck

    #whatTheHeck : Czym jest JavaEE i co ma wspólnego ze Springiem?

    by Patrycja 14 kwietnia 2016
    by Patrycja 14 kwietnia 2016
    4 FacebookTwitterLinkedinEmail

Najnowsze komentarze

  • Paweł Widera o Switch over Object Type in Java
  • Tomek o Switch over Object Type in Java
  • k4mil_m o #whatTheHeck : Czym jest JavaEE i co ma wspólnego ze Springiem?
  • ARR o #whatTheHeck : Czym jest JavaEE i co ma wspólnego ze Springiem?
  • A. o #whatTheHeck : Czym jest JavaEE i co ma wspólnego ze Springiem?

Archiwa

  • Grudzień 2019
  • Październik 2019
  • Kwiecień 2018
  • Kwiecień 2016

Kategorie

  • #personalnie
  • #reactiveArchitecture
  • #toolboxProgramisty
  • #whatTheHeck

Social Media

Facebook Twitter Instagram Email

Recent Posts

  • Architektura Reaktywna

    4 grudnia 2019
  • Switch over Object Type in Java

    26 października 2019
  • #personalnie: Java – Książki, które podobno musisz przeczytać

    19 kwietnia 2018
  • #whatTheHeck : Czym jest JavaEE i co ma wspólnego ze Springiem?

    14 kwietnia 2016

Dołącz do Newslettera

Bądz na bieżąco, Sięgnij po darmową wiedzę.

Najnowsze wpisy

  • Architektura Reaktywna
  • Switch over Object Type in Java
  • #personalnie: Java – Książki, które podobno musisz przeczytać
  • #whatTheHeck : Czym jest JavaEE i co ma wspólnego ze Springiem?

Dołącz do społeczności – zapisz się do newslettera!

Bądz na bieżąco, Sięgnij po darmową wiedzę.

  • Facebook
  • Twitter
  • Instagram
  • Email
  • Blogi programistyczne
  • Notatnik developerski
  • O nas

@2019 - All Right Reserved. Programistka.ninja

Programistka ninja
  • Home
  • O nas
  • lista Blogów IT
@2019 - All Right Reserved. Programistka.ninja