Rails: Как я могу сделать мои рельсы проектировать проект гексагональных рельсов?
-
20-12-2019 - |
Вопрос
Я посещал встречу вчера на масштабировании рельсов, а одна тема была шестиугольной рельсами. Однако я занимаюсь только рельсами на год, и мне действительно комфортно (может быть, слишком удобно) с структурой MVC, поэтому я не совсем понимаю, какой адаптер и очередь сообщений.
Вот статья об этом: http://victorsavkin.com/ Post / 42542190528 / Hexagonal-архитектура для рельсов-разработчиков
и фото: http://blog.mattwynne. net / wp-content / uploads / 2012/06 / hexagonal_architecture_sketch.jpg
Для моего понимания, я думаю, что речь идет о развязке частей, чтобы действия были специально отфильтровываются и передаются в определенные места вашего приложения вместо того, чтобы иметь центральный «маршрутизатор» для всего. Я думаю, что это приводит к минимизации использования Acciverecord и создании куча модулей? Я довольно ошеломлен этим, поэтому у меня есть несколько вопросов:
-
сделать мой проект проекта гексагональной рельсы, где именно я положил эти модули (какую папку? Я создаю новую папку определенного имени?)
-
Это больше для внутреннего обслуживания? Для безопасности?
Из того, что я знаю, если приложение Rails становится слишком большим, вы просто разделите определенные запчасти в другое приложение (я считаю, что это называется ориентированной на сервис архитектуру?) И просто сделайте запросы к этому из главного приложения? Или, возможно, используйте балансировщик нагрузки + несколько серверов, если трафик становится слишком тяжелым.
Решение
Виктор Савкин, который вы связали, чтобы поставить его хорошо:
гексагональная архитектура помогает отделить приложение из механизма доставки.
Мое понимание заключается в том, что гексагональная архитектура имеет свои корни с видом на рельсы как просто «механизм доставки» (возможно, один из многих) для вашего фактического применения. Это попытка изолировать ваше приложение из рельсов и выходит за пределы того, что люди пытаются сделать, когда они просто разделяют приложение на более мелкие кусочки с двигателями.
DHH (создатель рельсов) просмотруют архитектуру шестигранника как « TDD-индуцировал ущерб дизайна » И там был Серия разговоров с создателем TDD (Кент Бек) и Мартин Фаулер, который вы должны определенно смотреть.
Мой ответ на ваш вопрос будет: не делать. Разговор о гексагональной архитектуре происходит прямо сейчас. Если у вас нет некоторого сжигания, чтобы отделить код приложения из рельсов, я предлагаю вам посмотреть переговоры и подождать, пока пыль не посвящена, чтобы увидеть, что выходит из всего этого.