Пятничное чтиво
Буду рад предложениям, вопросам и идеям связанным с каналом или архитектурными/техническими вопросами. Можно написать в личку, а можно анонимно. А ответы на вопросы можно прочитать на сайте.
—————————————
Enabling Evolutionary Architecture through the Preservation of Change Locality
Когда говорят об архитектуре, в 90% случаев подразумевают структуру/систему здесь и сейчас. На деле, техническая (да и социо-техническая) система постоянно развивается и эволюционирует. Даже придумали отдельное направление — evolutionary architecture, в котором система проектируется с учетом постоянного изменения. Статья выше как раз о таком подходе.
Текст начинается с примера, когда команду попросили добавить изменение адреса доставки. Изначально предполагалось, что это небольшая фича которая превратилась в кросс командное взаимодействие и проблему границ системы. Через пример объясняется зачем нужна evolutionary architecture — чтобы команда делала изменения с собственным контекстом, без затрагивания других частей системы/команд. Т.е. необходима «локальность» изменений (change locality). Дальше рассматривается как границы системы влияют на локальность и как когнитивная нагрузка может быть звонком проблем. В третьей части текста даются советы, которые помогут с evolutionary architecture.
#system_evolution
—————————————
System Design For Beginners: Everything You Need in One Article
Сегодня лонгридище о system design. Причем, когда я вижу подобные статьи, сразу их пропускаю, так как обычно статьи о подготовке к system design interview, но сегодня без этого. Текст от 2024 года, поэтому без упоминания llm и GenAI. Еще, учитывайте, что текст для junior/middle разработчиков, поэтому хардкора ждать смысла нет.
Пересказывать текст смысла не вижу, поэтому кратко напишу что ждать. Текст — сборная солянка на кучу тем в одном месте. Найдете как вводную в system design, с объяснением, что такое сервер. Так и информацию о коммуникациях (latency, event-driven, брокеры, отдельный блок о кафке, консистентности), о базах (виды и чем отличаются, как скейлить, CAP теорема, но без pacelc). Блоки, связанные с архитектурными стилями, тоже присутствуют, как и с распределенными системами, инфрой и так далее.
Русский перевод, единственное, там 4 части и перевод не закончен.
#system_design
—————————————
Cell-Based Architecture for Resilient Payment Systems
Очередной текст о том, как в компании Х решали проблемы. Сегодня это American Express, которая решала проблемы с resiliency с помощью cell-based architecture.
В начале текста, по классике, описывается проблема. Так как компания занимается деньгами, то resiliency ключевое свойство. Достигается за счет cell-based architecture, благодаря чему изолируются сбои (деградация не переходит в outage), скейлинг становится проще, как и low-latency processing. Далее описывается, что такое cell-based architecture — архитектурный стиль для клауда, в котором связанные сервисы группируются в ячейки (cell), а ячейки работают независимо друг от друга.
Далее описываются пять принципов, на которых строится система:
- репликация данных в каждый cell;
- если репликация невозможна — используется deterministic routing до ячейки за нужными данными;
- если ячейка не может бизнес логику обработать, то запрос роутится в другой cell;
- если ячейка отказала в момент работы бизнес логики, то запрос также роутится в другую ячейку;
- строгий контроль и уменьшение зависимостей для cells.
#how_it_works #cell_based_architecture
Post #664
1.87K
- 👍 8
- 🔥 7
- ❤ 4
- 😁 1