Messaging
Czy kiedykolwiek zdarzyło Ci się pracować przy systemie rozproszonym, w którym teoretycznie niezależne od siebie aplikacje musiały się ze sobą komunikować? Być może pojawiły się inne mechanizmy integracji międzyusługowej niż synchroniczne żądania wykorzystujące dobrze znany protokół HTTP?
Zapewne zaczęło się niewinnie – od dodania do infrastruktury systemu tzw. brokera wiadomości. Na samym początku zdawał się spełniać powierzoną mu rolę, jednakże ze względu na wykorzystanie wysokpoziomowego frameworka wraz z masą abstrakcji, co w połączeniu z brakiem dogłębnego zrozumienia mechanizmów (topologii sieci, routingu komunikatów oraz modelami dostarczenia wiadomości) powolnie prowadziło do nieuchronnej katastrofy.
Horyzontalne skalowanie aplikacji, równoległe przetwarzanie komunikatów przez niezależne instancje, zwiększenie ogólnej przepustowości i niezawodności systemu, a może i dodatkowa integracja z mikroserwisem zaimplementowanym w innej technologi – rzeczywistość czy mrzonka?
Rozwiązaniem na to wszystko mogło być przecież dodanie Kafki, wszakże streaming brzmi lepiej niż jakiś message broker (poza semantyką to i tak w sumie to samo), a do tego działa znacznie szybciej – w końcu jesteśmy w stanie przetworzyć o jeden rząd wielkości wiadomości więcej w danym interwale czasowym niż poprzednio, o ile nie wymieszają się nam offsety i przypadkiem zduplikujemy dane. Oczywiście, wszystko dla pojedynczej instancji konsumenta, i analogicznej ilości partycji (w sumie dziwna nazwa na kolejkę), bo inaczej całkowicie zaburzymy kolejność.
Aha, posiadamy wyłącznie jeden, aczkolwiek bardzo mocny serwer – replikacja danych jest zbyt abstrakcyjnym pojęciem, a kraft kojarzy się co najwyżej z browarem.
Brzmi jak osobiste doświadczenia? A może całkowicie nieznane pojęcia? W jednym i drugim przypadku, to szkolenie będzie właśnie dla Ciebie 🙂
Te warsztaty nie są typowym “przejściem” po narzędziu X z użyciem frameworka Y – wręcz przeciwnie, kładziemy w nich przede wszystkim nacisk na dogłębne zrozumienie wszelkiego rodzaju mechanik związanych z komunikacją asynchroniczną pomiędzy aplikacjami w środowisku rozproszonym. Niezależnie od tego czy w swoim projekcie zdecydujesz się na wykorzystanie brokera wiadomości lub mechanizmu strumieniowania danych, będziesz w stanie poprawnie dobrać odpowiednie rozwiązanie, mając na uwadze wszelkiego rodzaju wyzwania wynikające zarówno z teoretycznych podstaw implementacji systemów rozproszonych jak i praktycznego zastosowania przykładowych komponentów na poziomie infrastruktury.
Dzień 1
Dzień 2
Dzień 3
Dzień 4
Szkolenie dedykowane jest programistom mid/senior oraz architektom chcącym ugruntować i pogłębić wiedzę w zakresie komunikacji asychnronicznej z naciskiem na jej praktyczne wykorzystanie w systemach rozproszonych.
Dariusz Pawlukiewicz
Współzałożyciel DevMentors.io, konsultant, inżynier oprogramowania, architekt w EcoVadis. Entuzjasta Domain-Driven Design oraz systemów rozproszonych. Ex-Microsof MVP oraz prelegent na konferencjach branżowych.
Piotr Gankiewicz
Współzałożyciel DevMentors.io, inżynier oprogramowania w Tickmill pracujący nad systemami tradingowymi, a po godzinach kontrybutor open source rozwijający Iggy.rs (message streaming w Rust). Ex-Microsof MVP oraz prelegent na konferencjach branżowych.