2022-04-15 13:31:00
Пятничное чтивоПоследняя неделя до старта курса по асинхронным системам. Старые записи стримов можно найти на ютубе. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму.
—————————————
Why I’ve Been Merging Microservices Back Into The Monolith At InVision
В интернете часто вижу статьи из серии “как распилить монолит на сервисы” и редко обратные примеры, за что подобные статьи ценю. Сегодня как раз такой пример статьи, в которой автор делиться опытом обратного собирания сервисов в монолит, по причине связанной только с изменением организации команд.
Изначально компания пыталась решить проблему человеческого менеджмента через сервисы. Т.е. когда был монолит на 3 человека, все было ок, а когда размер компонентов системы не поменялся, но количество человек возросло - компания попробовала разделить систему на сервисы. Дальше система развивалась и начался переход с легаси платформы на modern платформу, куда переходили команды разработчиков, а сервисы оставались на саппорте у команды автора. И в итоге, набралось слишком много сервисов на одну команду, что привело к проблемам.
В статье нет готовых решений о том, как собрать сервисы обратно в монолит. Ценность статьи - в примере “жизни” системы, когда один и то же подход, в зависимости от контекста (изменение структуры команд в компании), подходит или наоборот мешает жить.
#soa #monolith
—————————————
В защиту функциональных рассмотрений целевой системы
У меня сложные отношения с системным мышлением. Я не один раз пытался пройти курсы/прочитать книгу о системном мышлении, но результат сильно отличался от ожиданий. При этом, мне нравится некоторые посты, которые можно найти в ЖЖ.
Сегодняшний пример - такая статья, которая 1 в 1 описывает мои чувства в плане работы с системами. А именно: с разбором того, что должно произойти, вместо того, чтобы сразу думать об имплементации. Сам страдаю подобной проблемой, так как пока работал разработчиком - в 90% случаев сначала думал как буду реализацию делать, а потом оказывалось, что сделать надо было другую работу. А мысли о собственных проектах начинались с “было бы круто сделать вот так и так”. На данный момент процент в разы уменьшился, но все равно продолжаю себя ловить на подобных мыслях, поэтому пару раз в год возвращаюсь к статье.
Статью стоит рассматривать только как подсветку проблемы. А как самопроверку могу предложить вопрос “название функции говорит о том, что будет сделано с точки зрения пользователя, или говорит о том, что с точки зрения кода выполнит функция?”
#мысли #functional_requirements
—————————————
Очереди сообщений в PostgreSQL с использованием PgQ
На прошлой неделе опубликовал статью об outbox паттерне. На что @porfirion рассказал, что в его компании используется pgq экстеншн для постгреса как способ реализации outbox паттерна. Экстеншен был написан разработчиками из skype. Я до этого не слышал о подобном, при этом документацию сложно назвать полноценной.
Сам экстеншен состоит из продьюсера и консьюмера, все работает через функции БД: SELECT * FROM pgq.create_queue(queue_name); . Консьюмер работает аналогично. При этом, присутствуют ретраи и распределение нагрузки (через другой экстеншен, pgq_coop).
#postgreSQL #performance
——— одной строкой ———
- Так как я перестал писать о руби - попросили пошарить рассылку по языку
1.9K views10:31