Аспектно орієнтоване програмування в Java
Стаття про детальний огляд AOP в Java. Weaving: CTW, LTW, RTW. Способи використання. Порівняння інструментів, пояснення анотацій, конфігурування, термінологія.

Пишу технічні пости про програмування, математику і дотичні речі. Kafka, RabbitMQ, Меседж Брокери, Узгодженість систем, Партиціювання, Реплікація, Розподілені системи, Патерни проектування, Бази Даних.
Стаття про детальний огляд AOP в Java. Weaving: CTW, LTW, RTW. Способи використання. Порівняння інструментів, пояснення анотацій, конфігурування, термінологія.

В JVM використовуються дві структури для зберігання інформації в пам’яті: Stack та Heap. Вони мають полярну філософію і ми не можемо обійтись без жодної із них. У цьому пості я намагатимусь обширно опрацювати причини використання обох структур та їхні особливості.

Доволі детальний огляд аномалій у БД, рівнів ізоляції, які дозволяються уникнути аномалії, та імплементації цих рівнів. Багато використовую джерела та свої коментарі, в кінці декілька чит-шитів.

Стаття про черги в Rabbit. Кворум черги. Raft консенсус алгоритм. Типи конфірмів і ановледжментів. Типи черг. V1 vs V2. Фічі черг. Використання, недоліки та переваги.

Пост про порівняння протоколів у Rabbit. Різні версії Advanced Message Queuing Protocol. Недоліки та переваги, способи використання.

Пост про Spring Statemachine. Глосарій. Моніторинг. Безпека. Детальний розбір прикладу комплексної машини станів.

Стаття про продюсери і консюмери в Kafka. Producers, Consumers, Consumer groups, Rebalancing, Message delivery semantics, Offsets, Kafka partition picking, Avoiding duplicates, Message order maintaining, How many partitions should I choose for topic? Strategy for partitioning)

Пост про партиції в Kafka. Офсети. Визначення партиції. Динамічне розширення. Порядок і усунення дублікатів. Скільки треба вибирати партциій для топіка? Стратегії партиціювання.

Пост про реплікацію в Kafka. Асинхронна і синхронна реплікація. ISR/OSR. Смерть лідера. Відновлення реплік. Конфігурація продюсера на очікування реплікації.
