--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на https://groups.google.com/group/ror2ru
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
---
Вы получили это сообщение, поскольку подписаны на группу "RubyOnRails to russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес ror2ru+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/ror2ru/9ef6b54c-809a-41fa-8bb4-fc2dc3a0f49e%40googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Рельсы это монолит, их особо не распилить на слои dao / service / facade. Из решений видится автогенерация моделей для соседнего приложения по схеме базы / списку миграций. Rails Admin, например, нормально генерит админку для любого рельсового проекта, думаю там можно подсмотреть механизм и сделать генерацию api.
22.12.2017 20:15, sysadm пишет:
Всем привет.--
Что-то ничего стоящего не могу нагуглить на эту тему. Вопрос не банальный, наверное.Есть существующее веб приложение и надо рядом запустить API микросервис, который будет пользоваться той же базой, по сути теми же моделями (либо своими, но ежу понятно использующими те же таблицы через AR), но будет работать под другим сервером (допустим puma), возможно физически на другой машине. Какие существуют best practises на эту тему? Если это вообще отдельное приложение с отдельной репой, деплойментом итд итп как решить проблему миграций на той же базе данных? А если, к примеру, основная апликуха сделана на рельсах, а этот микросервис с API вообще на elixir/erlang?
Ребят, поделитесь мыслями как правильно это всё организовать, чтобы с одной стороны всё шустро работало на отдельном сервисе, чтобы не пускать всё с основного кластера unicorn-ов, с другой стороны, чтобы не нагибать особо принципа DRY.
И еще, какие используете инструменты для документирования API для девов? Есть какие-то альтернативы https://swagger.io/swagger-ui/ или на данный момент это лучшее что есть?
Удачного дня.
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на https://groups.google.com/group/ror2ru
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
---
Вы получили это сообщение, поскольку подписаны на группу "RubyOnRails to russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес ror2ru+unsubscribe@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/ror2ru/9ef6b54c-809a-41fa-8bb4-fc2dc3a0f49e%40googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на https://groups.google.com/group/ror2ru
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
---
Вы получили это сообщение, поскольку подписаны на группу "RubyOnRails to russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес ror2ru+unsubscribe@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/ror2ru/a7fcd7f5-1526-3a9e-c3c0-cec1f53faf7e%40gmail.com.
namespace :service do
desc 'check access for rabbitmq'
task :check_access => :environment do
CheckAccess.run!
end
end
class CheckAccess < Sinatra::Base
# тут 90 строк кода с использованием классов для авторизации и аутентификации из основного кода
end
Выделить всё, относящееся к общей части базы, в отдельную зависимость основного приложения и микросервиса. А вообще, общий доступ к базе нарушает принципы микросервисной архитектуры. Постарайтесь перенести всю работу с с этой частью базы в микросервис, а из основного приложения стучаться к нему по АПИ. Или просто сделайте распределённый монолит.
23 дек. 2017 г. 11:42 пользователь "Илья Плотников" <ilyaplo...@gmail.com> написал:
Рельсы это монолит, их особо не распилить на слои dao / service / facade. Из решений видится автогенерация моделей для соседнего приложения по схеме базы / списку миграций. Rails Admin, например, нормально генерит админку для любого рельсового проекта, думаю там можно подсмотреть механизм и сделать генерацию api.
22.12.2017 20:15, sysadm пишет:
Всем привет.--
Что-то ничего стоящего не могу нагуглить на эту тему. Вопрос не банальный, наверное.Есть существующее веб приложение и надо рядом запустить API микросервис, который будет пользоваться той же базой, по сути теми же моделями (либо своими, но ежу понятно использующими те же таблицы через AR), но будет работать под другим сервером (допустим puma), возможно физически на другой машине. Какие существуют best practises на эту тему? Если это вообще отдельное приложение с отдельной репой, деплойментом итд итп как решить проблему миграций на той же базе данных? А если, к примеру, основная апликуха сделана на рельсах, а этот микросервис с API вообще на elixir/erlang?
Ребят, поделитесь мыслями как правильно это всё организовать, чтобы с одной стороны всё шустро работало на отдельном сервисе, чтобы не пускать всё с основного кластера unicorn-ов, с другой стороны, чтобы не нагибать особо принципа DRY.
И еще, какие используете инструменты для документирования API для девов? Есть какие-то альтернативы https://swagger.io/swagger-ui/ или на данный момент это лучшее что есть?
Удачного дня.
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на https://groups.google.com/group/ror2ru
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
---
Вы получили это сообщение, поскольку подписаны на группу "RubyOnRails to russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес ror2ru+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/ror2ru/9ef6b54c-809a-41fa-8bb4-fc2dc3a0f49e%40googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на https://groups.google.com/group/ror2ru
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
---
Вы получили это сообщение, поскольку подписаны на группу "RubyOnRails to russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес ror2ru+un...@googlegroups.com.
Рельсы это монолит, их особо не распилить на слои dao / service / facade.
Что-то ничего стоящего не могу нагуглить на эту тему. Вопрос не банальный, наверное.Есть существующее веб приложение и надо рядом запустить API микросервис, который будет пользоваться той же базой, по сути теми же моделями (либо своими, но ежу понятно использующими те же таблицы через AR)
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на https://groups.google.com/group/ror2ru
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
---
Вы получили это сообщение, поскольку подписаны на группу "RubyOnRails to russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес ror2ru+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/ror2ru/7c2af017-cd71-4670-8de0-5f881e8fb16c%40googlegroups.com.
Вы сейчас описали обыкновенный рефакторинг и отдачу тех. долга. Микросервисы это про другое. Они про отказоустойчивость, выгодную утилизацию ресурсов и разработку силами 100+ человек. В целом хайп напоминает историю с бигдатой, когда приходили люди и утверждали, что для своих жалких 20 гигабайтных баз им обязательно нужен hadoop кластер чтобы посчитать средний чек
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/ror2ru/fd6a5780-ab19-4d8c-86ca-1a040ba07270%40googlegroups.com.