
Старые записи стримов можно найти на ютубе. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму.
—————————————
В защиту функциональных рассмотрений целевой системы
Системная инженерия - сложно, последние три года я стараюсь изучать ее когда нахожу желание и время. При этом, иногда встречаются мысли, которые хочешь сформулировать, но не знаешь как. Сегодняшний текст - это как раз формулировка моей мысли о том, что в разработке редко встречаю разбор хотелок и гипотез на то, что необходимо сделать и перевод полученного знания в требования.
Текст абстрактный и, как кажется, главная задача текста - помочь задуматься о разнице между “что сделать” (и последующими вопросами “а зачем это делать”) и “как сделать”. Я уже год думаю о гипотезе: неожиданная сторона курса - помочь инженерам посмотреть на систему не с точки зрения реализации, а с точки зрения набора компонентов, которые выполняют какие-то действия. А один из отзывов подтверждает гипотезу:
> В процессе проектирования обычная “каша” из требований превратилась в логичные и довольно компактные цепочки событий и команд)
—————————————
20 Best Practices for Working With Apache Kafka at Scale
Статья от ребят из NewRelic, в которой описывается что можно сделать для увеличения перфоманса с кафкой:
- 2 совета связанных с партишенами: как считать retention space (и почему важно его считать), почему рандомное разбиение по партициям лучше ручного (кроме случаев, когда это необходимость);
- 4 совета связанных с консюмерами: апдейт кафки, работа с consumer socket buffers, консьюмить только то, что читается (вместо консьюма всего подряд), работа с GC в джаве;
- 4 совета связанных с продюсерами: использование ack и retries, работа с buffer sizes и почему без метрик никуда;
- 10 советов связанных с брокером: что мониторить, какие ресурсы выделять для разных топиков, как конфигурировать брокер и почему локальное тестирование перформанса может навредить;
—————————————
Choosing a cache
Без кеша сложно жить, но о кешировании легко забыть. В статье описываются правила выбора кеша + стратегий работы. Текст начинается с выбора оптимального size limit, eviction strategy (как удаляется старое значение) и TTL. После этого, авторы описывают как кэширование может интегрироваться в jvm экосистему (автор пишет на джаве), паттерны (пять штук), разницу между распределенным кешом и локальным, а так же non-blocking API.