Co tydzień na skrzynkach pracowników Consdaty ląduje starannie wyselekcjonowany zbiór porad i nowinek technicznych w temacie programowania w Java i nie tylko. Poszukiwaniem tych perełek zajmuje się u nas trójka Tech Leadów, a ich znaleziska mogą docierać również do Ciebie! Od cotygodniowej dawki wiedzy dzieli Cię tylko kilka kliknięć.

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.

 

The LMAX Architecture

- 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.