Rails: Как я могу сделать мои рельсы проектировать проект гексагональных рельсов?

StackOverflow https://stackoverflow.com//questions/20011130

Вопрос

Я посещал встречу вчера на масштабировании рельсов, а одна тема была шестиугольной рельсами. Однако я занимаюсь только рельсами на год, и мне действительно комфортно (может быть, слишком удобно) с структурой MVC, поэтому я не совсем понимаю, какой адаптер и очередь сообщений.

Вот статья об этом: http://victorsavkin.com/ Post / 42542190528 / Hexagonal-архитектура для рельсов-разработчиков

и фото: http://blog.mattwynne. net / wp-content / uploads / 2012/06 / hexagonal_architecture_sketch.jpg

Для моего понимания, я думаю, что речь идет о развязке частей, чтобы действия были специально отфильтровываются и передаются в определенные места вашего приложения вместо того, чтобы иметь центральный «маршрутизатор» для всего. Я думаю, что это приводит к минимизации использования Acciverecord и создании куча модулей? Я довольно ошеломлен этим, поэтому у меня есть несколько вопросов:

  1. сделать мой проект проекта гексагональной рельсы, где именно я положил эти модули (какую папку? Я создаю новую папку определенного имени?)

  2. Это больше для внутреннего обслуживания? Для безопасности?

  3. Из того, что я знаю, если приложение Rails становится слишком большим, вы просто разделите определенные запчасти в другое приложение (я считаю, что это называется ориентированной на сервис архитектуру?) И просто сделайте запросы к этому из главного приложения? Или, возможно, используйте балансировщик нагрузки + несколько серверов, если трафик становится слишком тяжелым.

Это было полезно?

Решение

Виктор Савкин, который вы связали, чтобы поставить его хорошо:

гексагональная архитектура помогает отделить приложение из механизма доставки.

Мое понимание заключается в том, что гексагональная архитектура имеет свои корни с видом на рельсы как просто «механизм доставки» (возможно, один из многих) для вашего фактического применения. Это попытка изолировать ваше приложение из рельсов и выходит за пределы того, что люди пытаются сделать, когда они просто разделяют приложение на более мелкие кусочки с двигателями.

DHH (создатель рельсов) просмотруют архитектуру шестигранника как « TDD-индуцировал ущерб дизайна » И там был Серия разговоров с создателем TDD (Кент Бек) и Мартин Фаулер, который вы должны определенно смотреть.

Мой ответ на ваш вопрос будет: не делать. Разговор о гексагональной архитектуре происходит прямо сейчас. Если у вас нет некоторого сжигания, чтобы отделить код приложения из рельсов, я предлагаю вам посмотреть переговоры и подождать, пока пыль не посвящена, чтобы увидеть, что выходит из всего этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top