Архитектура цифрового мира. Андрей Николаевич Трушкин. Читать онлайн. Newlib. NEWLIB.NET

Автор: Андрей Николаевич Трушкин
Издательство: Издательские решения
Серия:
Жанр произведения: Компьютеры: прочее
Год издания: 0
isbn: 9785005608437
Скачать книгу
сложностей. Компания Uber посредством своих Интернет-ресурсов (https://eng.uber.com/microservice-architecture/, 23.07.2020) достаточно подробно рассматривала проблемы, с которыми ей пришлось столкнуться. По ходу решения выявленных проблем ИТ-ландшафт компании неоднократно претерпевал серьезные изменения, иногда включавшие в себя полный пересмотр достаточно крупных элементов данного ландшафта, а также деталей проектирования. На ряде популярных Интернет-ресурсов профессиональной направленности размещались статьи многих компаний, содержавшие выражения яркого эмоционального характера по адресу микросервисной архитектуры. Основной претензией, высказанной в отношении архитектурной концепции, были резко возросшая сложность ИТ-решений, запутанность интеграций, трудности в организации управления бизнес-процессами, сложности с сопровождением созданного решения, невозможность выработать эффективную релизную модель. Анализируя проблемы, с которыми столкнулись участники рынка при переходе к микросервисной архитектуре, можно отметить следующие основные примеры неудачной реализации новых архитектурных концепций, которые и привели к упомянутым проблемам:

      • Построение «распределенного монолита». В профессиональном сообществе «распределенный монолит» стал устойчивым термином, характеризующим высокую связность компонентов решения, которая в условиях распределенной архитектуры и следующего за ней развертывания не только не решала проблемы взаимовлияния компонентов друг на друга, но и дополняла их сетевой латентностью при осуществлении удаленных вызовов.

      • Слишком мелкая грануляция микросервисов. При крайне мелком дроблении создаваемой ИТ-системы на микросервисы возможна исключительно сложная топология ее развертывания. В подобном случае количество потенциальных зависимостей (даже на уровне API) между отдельными микросервисами может значительно усложнить развитие ИТ-системы, что в свою очередь негативно повлияет на показатели времени вывода продуктов заказчика на рынок, надежность и производительность создаваемого решения. Следуя терминам профессионального сообщества, на смену «зоопарку систем» приходил «серпентарий микросервисов».

      • Слишком крупная грануляция микросервисов. Является обратной стороной предыдущего пункта и близка к ситуации «распределенного монолита». В качестве микросервисов выделяется несколько подсистем, которые содержат большое количество логики и, по сути, представляют собой полноценные ИТ-системы предыдущего архитектурного поколения, а не микросервисы.

      • Большое количество точечных интеграций. При прямом взаимодействии микросервисов между собой возможна избыточная сложность построения интеграционных взаимодействий. В качестве примера можно привести обновление web-интерфейса приложения, требующего для выдачи данных с последующим представлением пользователю последовательного вызова 4—5 микросервисов. Обеспечить