Dodano produkt do koszyka

Promocja

MIKROUSŁUGI OPARTE NA ZDARZENIACH. WYKORZYSTYWANIE DANYCH W ORGANIZACJI NA DUŻĄ SKALĘ

MIKROUSŁUGI OPARTE NA ZDARZENIACH. WYKORZYSTYWANIE DANYCH W ORGANIZACJI NA DUŻĄ SKALĘ

ADAM BELLEMARE

Wydawnictwo: HELION

Cena: 69.00 zł 54.51 brutto

Koszty dostawy:
  • Paczkomaty InPost 14.99 zł brutto
  • Poczta Polska - odbiór w punkcie 9.99 zł brutto
  • Poczta Polska - przedpłata 15.99 zł brutto
  • Poczta Polska - pobranie 19.99 zł brutto
  • Kurier DHL - przedpłata 18.99 zł brutto
  • Kurier DHL - pobranie 21.99 zł brutto
  • Odbiór osobisty - UWAGA - uprzejmie prosimy poczekać na informację z księgarni o możliwości odbioru zamówienia - 0.00 zł brutto

Opis

Opis produktu

ISBN: 978-83-283-7439-3

286 stron
format: B5
oprawa: miękka
Rok wydania: 2021

Mikrousługi oparte na zdarzeniach mogły powstać dzięki rozwojowi konteneryzacji i łatwiejszemu pozyskiwaniu zasobów obliczeniowych. Szczególnie ciekawą propozycją są rozproszone, odporne na błędy, wysokowydajne i szybkie brokery zdarzeń. Te rozwiązania technologiczne pozwalają na korzystanie z wielkich zbiorów danych i zapewniają przetwarzanie zdarzeń w czasie zbliżonym do rzeczywistego. Taka architektura ma znaczenie nie tylko dla inżynierów systemu, ale także dla struktury i sposobu działania firm i organizacji. Nagle okazuje się, że można bezproblemowo wykonywać działania, które do niedawna nie były jeszcze możliwe.

To praktyczny przewodnik, dzięki któremu samodzielnie ocenisz, jak dużą wartość biznesową mogą zyskać duże wolumeny danych, jeśli są wykorzystywane w organizacji przy użyciu architektury mikrousług opartych na zdarzeniach. Dowiesz się także, jak przygotować i przeprowadzić proces budowania organizacji, która wykorzystuje mikrousługi oparte na zdarzeniach. Poznasz wszechstronne, a przy tym proste wzorce odblokowujące wartość tych danych. W książce znalazło się również mnóstwo wskazówek i sugestii dotyczących projektowania systemu opartego na zdarzeniach, ponadto wyjaśniono tutaj kluczowe zasady architektoniczne. Wymieniono też przydatne narzędzia oraz opisano dokładnie techniki testowania mikrousług i wdrażania ich w środowisku produkcyjnym.

SPIS TREŚCI

Przedmowa

1. Dlaczego mikrousługi oparte na zdarzeniach?
Czym są mikrousługi oparte na zdarzeniach?
Wprowadzenie do projektowania dziedzinowego i kontekstów ograniczonych
Wykorzystywanie modeli dziedzin i kontekstów ograniczonych
Dopasowywanie kontekstów ograniczonych do wymagań biznesowych
Struktury komunikacji
Struktury komunikacji biznesowej
Struktury komunikacji implementacyjnej
Struktury komunikacji danych
Prawo Conwaya i struktury komunikacji
Struktury komunikacji w tradycyjnych systemach obliczeniowych
Opcja 1. Utworzenie nowej usługi
Opcja 2. Dodanie funkcjonalności do istniejącej usługi
Wady i zalety obu opcji
Kontynuacja scenariusza z zespołami
Sprzeczne naciski
Struktury komunikacji oparte na zdarzeniach
Zdarzenia są podstawą komunikacji
Strumienie zdarzeń zapewniają jedno źródło prawdy
Konsumenty przeprowadzają własne modelowanie i kwerendowanie
Komunikacja danych zostaje usprawniona w całej organizacji
Dostępne dane wspierają zmiany w komunikacji biznesowej
Asynchroniczne mikrousługi oparte na zdarzeniach
Przykładowy zespół korzystający z mikrousług opartych na zdarzeniach
Mikrousługi synchroniczne
Wady mikrousług synchronicznych
Korzyści ze stosowania mikrousług synchronicznych
Podsumowanie

2. Podstawy mikrousług opartych na zdarzeniach
Budowanie topologii
Topologia mikrousługi
Topologia biznesowa
Zawartość zdarzenia
Struktura zdarzenia
Zdarzenie bez klucza
Zdarzenie encyjne
Zdarzenie z kluczem
Materializowanie stanu ze zdarzeń encyjnych
Definicje i schematy danych zdarzenia
Zasada pojedynczego źródła zapisu mikrousługi
Mikrousługi wyposażone w broker zdarzeń
Przechowywanie i serwowanie zdarzeń
Uwzględnianie czynników dodatkowych
Porównanie brokerów zdarzeń i brokerów komunikatów
Konsumowanie zdarzeń z niemutowalnego dziennika
Zapewnianie jednego źródła prawdy
Zarządzanie mikrousługami na dużą skalę
Umieszczanie mikrousług w kontenerach
Umieszczanie mikrousług w maszynach wirtualnych
Zarządzanie kontenerami i maszynami wirtualnymi
Podatek od mikrousług
Podsumowanie

3. Komunikacja i kontrakty danych
Kontrakty danych opartych na zdarzeniach
Używanie bezpośrednich schematów jako kontraktów
Komentarze definicji schematu
W pełni funkcjonalna ewolucja schematu
Obsługa generatora kodu
Przełomowe zmiany schematu
Wybór formatu zdarzenia
Projektowanie zdarzeń
Mów prawdę, całą prawdę i tylko prawdę
Używaj pojedynczej definicji zdarzenia na strumień
Używaj najwęższych typów danych
Zachowuj specjalizację zdarzeń
Minimalizuj rozmiar zdarzeń
Angażuj potencjalne konsumenty w projektowanie zdarzeń
Unikaj zdarzeń jako semaforów lub sygnałów
Podsumowanie

4. Integracja architektur opartych na zdarzeniach z istniejącymi systemami
Czym jest uwalnianie danych?
Kompromisy związane z uwalnianiem danych
Konwersja uwolnionych danych na zdarzenia
Wzorce uwalniania danych
Frameworki uwalniania danych
Uwalnianie danych oparte na zapytaniach
Ładowanie zbiorcze
Ładowanie przyrostowe na podstawie znacznika czasu
Ładowanie na podstawie autoinkrementowanego identyfikatora
Kwerendowanie niestandardowe
Aktualizacja przyrostowa
Zalety aktualizacji opartej na zapytaniach
Wady aktualizacji opartej na zapytaniach
Uwalnianie danych oparte na dziennikach CDC
Zalety korzystania z dzienników magazynu danych
Wady korzystania z dzienników magazynu danych
Uwalnianie danych oparte na tablicach skrzynki nadawczej
Kwestie związane z wydajnością
Izolowanie wewnętrznych modeli danych
Zapewnianie kompatybilności schematu
Przechwytywanie danych o zmianach za pomocą wyzwalaczy
Dokonywanie zmian definicji danych w przechwytywanych zbiorach danych
Obsługa zmian definicji danych "po fakcie" dla wzorców opartych na zapytaniach i dziennikach CDC
Obsługa zmian definicji danych dla wzorców opartych na przechwytywaniu tablicy danych o zmianach
Zlewanie danych o zdarzeniach do magazynów danych
Wpływ zlewania i pozyskiwania danych na prowadzenie działalności biznesowej
Podsumowanie

5. Podstawy przetwarzania opartego na zdarzeniach
Tworzenie topologii bezstanowych
Transformacje
Rozgałęzianie i scalanie strumieni
Repartycjonowanie strumieni zdarzeń
Przykład: repartycjonowanie strumienia zdarzeń
Współpartycjonowanie strumieni zdarzeń
Przykład: współpartycjonowanie strumienia zdarzeń
Przypisywanie partycji do instancji konsumenta
Mechanizm przypisywania partycji
Przypisywanie partycji współpartycjonowanych
Strategie przypisywania partycji
Odzyskiwanie sprawności po awariach bezstanowej instancji przetwarzania
Podsumowanie

6. Deterministyczne przetwarzanie strumieni
Determinizm w przepływach pracy opartych na zdarzeniach
Znaczniki czasu
Synchronizacja rozproszonych znaczników czasu
Przetwarzanie zdarzeń ze znacznikami czasu
Planowanie zdarzeń i przetwarzanie deterministyczne
Niestandardowe dyspozytory zdarzeń
Przetwarzanie na podstawie czasów: zdarzenia, przetwarzania i pozyskania
Wyodrębnianie znacznika czasu przez konsumenta
Wywołania typu żądanie-odpowiedź wysyłane do systemów zewnętrznych
Znaki wodne
Znaki wodne w przetwarzaniu równoległym
Czas strumienia
Czas strumienia w przetwarzaniu równoległym
Zdarzenia w niewłaściwej kolejności i zdarzenia opóźnione
Zdarzenia opóźnione ze znakami wodnymi i czasem strumienia
Przyczyny i skutki występowania zdarzeń w niewłaściwej kolejności
Funkcje zależne od czasu i okna czasowe
Obsługa zdarzeń opóźnionych
Porównanie ponownego przetwarzania i przetwarzania w czasie zbliżonym do rzeczywistego
Okresowe awarie i opóźnione zdarzenia
Problemy z łącznością producenta (brokera zdarzeń)
Podsumowanie i dalsza lektura

7. Stanowe przesyłanie strumieniowe
Magazyny stanu i materializowanie stanu ze strumienia zdarzeń
Rejestrowanie stanu w strumieniu zdarzeń dziennika zmian
Materializacja stanu w wewnętrznym magazynie stanu
Materializacja stanu globalnego
Zalety korzystania z wewnętrznego stanu
Wady korzystania z wewnętrznego stanu
Skalowanie i przywracanie wewnętrznego stanu
Materializacja stanu w zewnętrznym magazynie stanu
Zalety zewnętrznego stanu
Wady zewnętrznego stanu
Skalowanie i odzyskiwanie w przypadku zewnętrznych magazynów stanu
Porównanie odbudowywania i migrowania magazynów stanu
Odbudowa
Migracja
Transakcje i przetwarzanie efektywnie raz
Przykład: usługa rachunkowości zapasów
Przetwarzanie efektywnie raz za pomocą transakcji klient-broker
Przetwarzanie efektywnie raz bez transakcji klient-broker
Podsumowanie

8. Tworzenie przepływów pracy za pomocą mikrousług
Wzorzec Choreografia
Prosty przykład choreografii opartej na zdarzeniach
Tworzenie i modyfikowanie choreografowanego przepływu pracy
Monitorowanie choreografowanego przepływu pracy
Wzorzec Orkiestracja
Prosty przykład orkiestracji opartej na zdarzeniach
Prosty przykład orkiestracji wywołań bezpośrednich
Porównanie orkiestracji bezpośrednich wywołań i orkiestracji opartej na zdarzeniach
Tworzenie i modyfikowanie przepływu pracy orkiestracji
Monitorowanie przepływu pracy orkiestracji
Transakcje rozproszone
Transakcje choreografowane: wzorzec Saga
Transakcje orkiestrowane
Kompensacyjne przepływy pracy
Podsumowanie

9. Mikrousługi wykorzystujące funkcję jako usługę
Projektowanie rozwiązań opartych na funkcjach jako mikrousług
Zapewnianie ścisłej przynależności do kontekstu ograniczonego
Zatwierdzanie przesunięć dopiero po zakończeniu przetwarzania
Mniej znaczy więcej
Wybór dostawcy FaaS
Budowanie mikrousług na podstawie funkcji
Zimny start i ciepłe starty
Uruchamianie funkcji za pomocą wyzwalaczy
Wyzwalanie oparte na nowych zdarzeniach: nasłuchiwacz strumienia zdarzeń
Wyzwalanie oparte na opóźnieniu grupy konsumentów
Wyzwalanie według harmonogramu
Wyzwalanie przy użyciu webhooków
Wyzwalanie oparte na zdarzeniach dotyczących zasobów
Wykonywanie pracy biznesowej za pomocą funkcji
Utrzymywanie stanu
Funkcje wywołujące inne funkcje
Wzorzec komunikacji opartej na zdarzeniach
Wzorzec bezpośrednich wywołań
Zakończenie działania i zamknięcie
Dostrajanie funkcji
Alokacja wystarczających zasobów
Parametry wsadowego przetwarzania zdarzeń
Skalowanie rozwiązań FaaS
Podsumowanie

10. Mikrousługi BPC
Gdzie sprawdzają się mikrousługi BPC?
Integracja z istniejącymi i starszymi systemami
Stanowa logika biznesowa, która nie jest zależna od kolejności zdarzeń
Gdy warstwa danych wykonuje większość pracy
Niezależne skalowanie przetwarzania i warstwy danych
Hybrydowe aplikacje BPC z zewnętrznym przetwarzaniem strumieni
Przykład: użycie zewnętrznego frameworku przetwarzania strumieni do łączenia strumieni zdarzeń
Podsumowanie

11. Mikrousługi frameworków ciężkich
Krótka historia ciężkich frameworków
Wewnętrzne działanie ciężkich frameworków
Korzyści i ograniczenia
Opcje konfiguracji klastra i tryby wykonywania
Użycie usługi hostowanej
Budowanie własnego pełnego klastra
Tworzenie klastrów z integracją z systemem CMS
Tryby zatwierdzania aplikacji
Tryb sterownika
Tryb klastra
Obsługa stanu i używanie punktów kontrolnych
Skalowanie aplikacji i obsługa partycji strumienia zdarzeń
Skalowanie aplikacji podczas jej działania
Skalowanie aplikacji przez jej ponowne uruchomienie
Automatycznie skalujące się aplikacje
Odzyskiwanie sprawności po awarii
Kwestie wielodzierżawności
Języki i składnia
Wybór frameworku
Przykład: tworzenie okna sesji kliknięć i wyświetleń
Podsumowanie

12. Mikrousługi frameworków lekkich
Zalety i ograniczenia
Lekkie przetwarzanie
Obsługa stanu i używanie dzienników zmian
Skalowanie aplikacji i odzyskiwanie sprawności po awarii
Tasowanie zdarzeń
Przypisywanie stanu
Replikacja stanu i aktywne repliki
Wybór lekkiego frameworku
Apache Kafka Streams
Apache Samza: tryb osadzony
Języki i składnia
Łączenie strumień-tablica-tablica: wzorzec Wzbogacanie
Podsumowanie

13. Integracja mikrousług opartych na zdarzeniach z mikrousługami typu żądanie-odpowiedź
Obsługa zdarzeń zewnętrznych
Zdarzenia generowane autonomicznie
Zdarzenia generowane reaktywnie
Obsługa automatycznie generowanych zdarzeń analitycznych
Integracja z zewnętrznymi interfejsami API żądanie-odpowiedź
Przetwarzanie i udostępnianie danych stanowych
Obsługa żądań w czasie rzeczywistym za pomocą wewnętrznych magazynów stanu
Obsługa żądań w czasie rzeczywistym za pomocą zewnętrznych magazynów stanu
Obsługa żądań w przepływie pracy opartym na zdarzeniach
Przetwarzanie zdarzeń dla interfejsów użytkownika
Mikrofrontendy w aplikacjach typu żądanie-odpowiedź
Zalety mikrofrontendów
Mikrousługi oparte na kompozycji
Łatwe dostosowywanie do wymagań biznesowych
Wady mikrofrontendów
Potencjalnie niespójne elementy i style interfejsu użytkownika
Zmienna wydajność mikrofrontendu
Przykład: aplikacja do wyszukiwania i recenzowania wydarzeń
Podsumowanie

14. Narzędzia pomocnicze
System przypisywania mikrousług zespołom
Tworzenie i modyfikowanie strumienia zdarzeń
Znakowanie strumieni zdarzeń za pomocą metadanych
Kwoty
Rejestr schematów
Powiadomienia o tworzeniu i modyfikowaniu schematów
Zarządzanie przesunięciami
Uprawnienia i listy kontroli dostępu dla strumieni zdarzeń
Zarządzanie stanem i resetowanie aplikacji
Monitorowanie opóźnienia przesunięcia konsumenta
Zoptymalizowany proces tworzenia mikrousług
Kontrola zarządzania kontenerami
Tworzenie klastra i zarządzanie nim
Programowe uruchamianie brokerów zdarzeń
Programowe uruchamianie zasobów obliczeniowych
Replikacja danych zdarzeń między klastrami
Programowe uruchamianie narzędzi
Śledzenie zależności i wizualizacja topologii
Przykład topologii
Podsumowanie

15. Testowanie mikrousług opartych na zdarzeniach
Ogólne zasady testowania
Funkcje topologii testów jednostkowych
Funkcje bezstanowe
Funkcje stanowe
Testowanie topologii
Testowanie ewolucji i zgodności schematów
Testowanie integracyjne mikrousług opartych na zdarzeniach
Lokalne testy integracyjne
Tworzenie tymczasowego środowiska w ramach wykonywania kodu testowego
Tworzenie tymczasowego środowiska zewnętrznie względem kodu testowego
Integracja usług hostowanych przy użyciu opcji atrapy i symulatora
Integracja usług zdalnych, które nie mają opcji lokalnych
Pełne zdalne testy integracyjne
Programowe tworzenie tymczasowego środowiska testów integracyjnych
Testowanie przy użycia środowiska współdzielonego
Testowanie przy użyciu środowiska produkcyjnego
Wybór strategii w pełni zdalnych testów integracyjnych
Podsumowanie

16. Wdrażanie mikrousług opartych na zdarzeniach
Zasady wdrażania mikrousług
Architektoniczne komponenty wdrażania mikrousług
Systemy ciągłej integracji, ciągłego dostarczania i ciągłego wdrażania
Systemy zarządzania kontenerami i powszechnie dostępny sprzęt
Podstawowy wzorzec Wdrożenie z Pełnym Zatrzymaniem
Wzorzec Aktualizacja Krocząca
Wzorzec Przełomowa Zmiana Schematu
Ostateczna migracja za pośrednictwem dwóch strumieni zdarzeń
Zsynchronizowana migracja do nowego strumienia zdarzeń
Wzorzec Wdrożenie Niebiesko-Zielone
Podsumowanie

17. Zakończenie
Warstwy komunikacyjne
Dziedziny biznesowe i konteksty ograniczone
Współużytkowanie narzędzi i infrastruktury
Uschematyzowane zdarzenia
Wyzwolenie danych i jedno źródło prawdy
Mikrousługi
Opcje implementacji mikrousług
Testowanie
Wdrażanie
Kilka słów na zakończenie

Kod wydawnictwa: 978-83-283-7439-3

Opinie, recenzje, testy:

Ten produkt nie ma jeszcze opinii

Twoja opinia

aby wystawić opinię.

Ocena:
  • Wszystkie pola są wymagane
Zapytaj o produkt

Produkty powiązane

Kontakt

Księgarnia Ekonomiczna Kazimierz Leki Sp. z o.o.

ul. Grójecka 67

02-094 Warszawa

NIP: 7010414095

Tel. 22 822 90 41

www.24naukowa.com.pl

naukowa@ksiegarnia-ekonomiczna.com.pl