1. RabbitMQ Streams для сбора и обработки телеметрии умного дома
Посмотрим на основные отличия очередей RabbitMQ от классического режима очереди сообщений, а также возможные сценарии использования с примерами кода на Go.
2. Архитектура для разработчиков и админов: кому какие навыки нужны?
Классифицировали знания архитектуры в зависимости от уровня и деятельности специалистов. Памятка для тех, кто хочет прокачать свои навыки проектирования приложений или ПО, но не достаточно хорошо ориентируется в какой последовательности их осваивать.
3. Почему может понадобиться полусинхронная репликация?
Из-за того, что на HDD может выполняться лишь порядка 400-700 операций в секунду, классическая дисковая база данных является узким горлышком архитектуры. Поэтому необходимо уделить отдельное внимание паттернам масштабирования данного хранилища.
На текущий момент имеются два паттерна масштабирования базы: репликация и шардирование. Шардирование позволяет масштабировать операцию записи, и, как следствие, снижать rps на запись, приходящийся на один сервер вашего кластера. Репликация позволяет делать тоже самое, но с операциями чтения. Именно этому паттерну и посвящена данная статья.
4. Шаблоны GRASP: Creator (создатель)
Шаблоны GRASP являются скорее не паттернами проектирования (как GoF’овские), а фундаментальными принципами распределения ответственности между классами. Они, как показывает практика, не обладают особой популярностью, однако анализ спроектированных классов с использованием полного набора GRASP’овских паттернов является необходимым условием написания хорошего кода. Паттерн Creator решает такую же типовую задачу как и его предшественник: создавать экземпляры класса должен класс, которому они нужны.
5. Шаблоны GRASP: Controller (контроллер)
Обязанности по обработке входящих системных сообщений необходимо делегировать специальному объекту Controller’у. Controller — это объект, который отвечает за обработку системных событий, и при этом не относится к интерфейсу пользователя. Controller определяет методы для выполнения системных операций.
Еще больше технических материалов вы найдете в нашем блоге на хабре.