Существуют ли на Ruby проверенные архитектурные решения для одновременно работы двух серверных приложений?
Существуют ли на Ruby проверенные архитектурные решения для одновременно работы двух серверных приложений?
Например:
1. открыть поток с сервером_1
2. открыть поток с сервером_2
3. в основном теле программы
3.1. дождаться подключение к серверу_1
3.2. обработать информацию от сервера_1
3.3. отдать информацию серверу_2
повторить пункт 3
Пробовал сделать через потоки, на локальной машине все работает, на хостинге - уже нет. Может есть книги какие по организации таких или подобных архитектур на ruby ?
Во-первых, очень непонятно, как вы эмулировали 2 сервера на локальной машине. И на каком таком "хостинге" уже не работает. Для начала у вас везде должны быть *nix системы - локально, "на хостинге". В крайнем случае - виртуалки.
Во-вторых, совсем неясно, что именно нужно делать и для чего
В-третьих, такие архитектурные решения в общем случае не имеют отношения к языкам и называются очередями. Например, распространенным вариантом выступает Redis
Алексей POS_troi: У меня куплен аккаунт, который предоставляет размещение приложения на руби: ROR или иное другое + базы. Я на этом функционале написал свой микро сервер. Его единственная функция принять подключение от системы из внешнего мира, обработать информацию и отдать системе во внешнем мире. Соответственно логи может и есть - но кто мне их покажет, да и что я там буду искать? Если не работает мое ПО - думаю проблема именно в нем. Поэтому я и спрашиваю про корректные архитектурные решения на руби для таких задач.
Виктор Ablebeam: очень просто: открыл порты и ждал подключения клиентов. возможно мы с вами понимаем разное под словом "сервер". Я под этим словом имею ввиду программу на руби:
1. Открывающую порт,
2. Ожидающую соединения,
3. Обрабатывающую информацию,
4. Передачу обработанной информации.
Прочитал про Redis. Я с тем как она архитектурно устроена точно не разберусь (
Денис: вам в любом случае нужно забыть про "хостинги" для руби. Возьмите любой VPS и сделайте там точно такое же окружение, как у вас локально.
Если этого для решения вашей задачи хватит - хорошо. Если нет - то прочитайте про очереди задач.
В вашем алгоритме, зачастую, руби решает только задачу №3. 1,2,4 обычно занимается веб-сервер, например. nginx
Можно, но запустить их на виртуальном хостинге проблематично. сейчас я решил это через сокеты, а на хостинге запускаю через screen. Однако искал проверенные решения (