Event Storage in Axon Server How does it work
CTO AxonIQ buduje teoretyczne wymagania dla EventStore w metodyce Event Sourcingu i analizuje dostępne na rynku rozwiązania pod kątem przydatności w produkcyjnych wdrożeniach. Oczywiście cały materiał lekko tendencyjnie zmierza w kierunku Axonowego EventStore, jednak wiele uwag i sugestii jest wartościowych jako wkład do własnej analizy potrzeb i rynku.
- Bardzo wyczerpujący artykuł (jak to u Martina Fowlera) opisujący architekturę transakcyjnego systemu LMAX, przetwarzającego 6 mln transakcji na sekundę... na jednym wątku.
- Jak to zrobili?
- Po pierwsze, wszystko jest trzymane w pamięci i podparte Event Sourcingiem.
- Po drugie, kod biznesowy nie wykonuje żadnych zewnętrznych wywołań - do dysku, zewnętrznych serwisów itp.
- Po trzecie, customowymi strukturami danych.
- Na koniec artykuł schodzi bardzo niskopoziomowo, rozważając kwestie implementacji z punktu widzenia sprzętu. Innymi słowy, jakie struktury danych będą bardziej "przyjazne" dla procesora i pamięci, a co za tym idzie - szybsze. Jest to rzecz, o której raczej w ogóle, albo prawie nigdy, nie myślimy, a potencjalny zysk wydajności jest ogromny.
- Co prawda artykuł ma już dobrych kilka lat, ale wciąż jest bardzo aktualny.
DSLs for non-programmers are a hoax
- Prawie każdy zetknął się kiedyś z takim czy innym DSLem sprzedawanym jako rozwiązanie dla nietechnicznych ludzi, jako możliwość rozwoju systemu z pominięciem developerów.
- Artykuł podnosi tezę, że takie podejście nie ma prawa zadziałać - domeny, z którymi się mierzymy zbyt szybko stają się zbyt skomplikowane, a na wierzch wychodzą corner case'y, których obsługa wykracza poza możliwości danego DSLa, z powrotem zaprzęgając programistów do pracy.