PRELEKCJE

 

Wszyscy tworzymy systemy rozproszone

Czy pisałeś kiedykolwiek aplikacje webowe albo mobilne działające offline? Zmagałeś się z poprawna i wydajną synchronizacją danych między serwerem a klientem? Kiedy spotkałem się z tymi wyzwaniami, uświadomiłem sobie, jak bardzo może mi pomóc teoria systemów rozproszonych. W prezentacji zajmę się jednym z jej wyników: twierdzeniem [CAP](https://en.wikipedia.org/wiki/CAP_theorem) i pokażę, w jaki sposób dotyczy ono aplikacji webowych i mobilnych. W skrócie: jeśli sieć, której używasz jest zawodna, nie możesz zapewnić jednocześnie dostępności i spójności aplikacji. Co z tego wynika? Potrzebujemy niezawodnych mechanizmów synchronizacji danych. Pokażę, w jaki sposób radziliśmy sobie z ograniczeniami opisywanymi przez CAP, co nam nie wyszło i czego się nauczyliśmy. Paginacja, idempotencja i niezmienność: te trzy słowa podsumowują nasze rezultaty.