+Для додатків середнього розміру і вище моноліти справді погані – мати одне велике програмне забезпечення з багатьма залежностями буде складно розуміти, і це часто призводить до спагетті-коду. Навіть розумні архітектори — ті, хто достатньо вправні, щоб приборкати звіра та «модулювати» його — витрачають величезні розумові зусилля на проектування, і кожна зміна вимагає ретельної оцінки впливу на інші залежні об’єкти. Найкращим рішенням є розробка невеликого програмного забезпечення: розділіть весь стек на самодостатні компоненти, які не надають спільний доступ до файлів іншим, кожен з яких складається з небагатьох файлів (наприклад, API, сервіс, доступ до даних, тест тощо), щоб його було легко зрозуміти. Деякі можуть назвати цю архітектуру «мікросервісів» — важливо розуміти, що мікросервіси — це не специфікація, якої ви повинні дотримуватися, а радше набір принципів. Ви можете прийняти багато принципів у повноцінну архітектуру мікросервісів або прийняти лише деякі. Обидва хороші, якщо ви зберігаєте низьку складність програмного забезпечення. Щонайменше, що вам слід зробити, це створити базові межі між компонентами, призначити папку в корені вашого проекту для кожного бізнес-компонента та зробити його самостійним — іншим компонентам дозволено використовувати його функціональні можливості лише через публічний інтерфейс або API. Це основа для збереження простоти ваших компонентів, уникнення пекла залежностей і прокладання шляху до повномасштабних мікросервісів у майбутньому, коли ваша програма розшириться.
0 commit comments