Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2017, 00:23
Новичок на форуме
Отправить личное сообщение для Djekes Посмотреть профиль Найти все сообщения от Djekes
 
Регистрация: 18.05.2017
Сообщений: 2

Выбор архитектуры для веб приложения
Приветствую! С Node.js работаю недавно. Нужна помощь в выборе архитектуры для веб приложения.
Суть приложения такова:
Приложение обрабатывает входящие подключения webhooks (get запросы) и на основании их делает определенную логику, связанную с работой с БД, вычислениями и.т.п.

Например при запросе /node/go_logic_1 скрипт будет выполнять одни действия, а при запросе /node/go_logic_2 - другие.

На данный момент это реализовано с помощью express и представляет собой цепочку подобных блоков в коде:
app.get('/node/do_logic_1', function(req, res){
//do some logic 1
);

app.get('/node/do_logic_2', function(req, res){
//do some logic 2
);

//...


И так далее. Проект большой. Назревает около 300 таких уникальных запросов (урлов) и как-то все оставлять в таком виде для меня кажется ужасом кромешным. Редактировать это потом будет невозможно. Да и запрашивать каждый раз такой большой файл, наверняка тоже проблема.

В голове появилась мысль, что можно все это добро вынести как модули и подключать их, в зависимости от того, что находится в запросе. Например, при запросе '/node/do_logic_1' подключаем скрипт do_logic_1.js и так с остальными по аналогии. В таком случае для создания нового модуля необходимо будет лишь создать файл с нужным названием в определенной папке.

Также смотрел в сторону "микросервисов". Но почитал множество постов на хабре, где говорят, что это не нужная вещь. В общем, был бы очень благодарен, если услышу ваше мнение по этому поводу.
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2017, 09:17
Аспирант
Отправить личное сообщение для -VenoM- Посмотреть профиль Найти все сообщения от -VenoM-
 
Регистрация: 31.10.2016
Сообщений: 44

Посмотри учебник переводной nodejs для чайников или как-то так. Там как раз в качестве примера разбирается хороший стиль http сервера.
Т.е. проект делится на indexjs, httpserver, router, handlers. В своём серваке (у меня более обширная задача, т.к. есть ещё tcp серв, usb, не только get, но и put) я сделал как в том примере - очень удобно. Под БД делаешь ещё один .js, который прикошачиваешь к handlers. Расширяется потом проект очень легко.
Ответить с цитированием
  #3 (permalink)  
Старый 25.05.2017, 21:27
Новичок на форуме
Отправить личное сообщение для Djekes Посмотреть профиль Найти все сообщения от Djekes
 
Регистрация: 18.05.2017
Сообщений: 2

Сообщение от -VenoM- Посмотреть сообщение
Посмотри учебник переводной nodejs для чайников или как-то так. Там как раз в качестве примера разбирается хороший стиль http сервера.
Т.е. проект делится на indexjs, httpserver, router, handlers. В своём серваке (у меня более обширная задача, т.к. есть ещё tcp серв, usb, не только get, но и put) я сделал как в том примере - очень удобно. Под БД делаешь ещё один .js, который прикошачиваешь к handlers. Расширяется потом проект очень легко.
Видимо про этот говоришь http://nodebeginner.ru/
Спасибо) Ушел читать.
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2017, 20:00
Аспирант
Отправить личное сообщение для -VenoM- Посмотреть профиль Найти все сообщения от -VenoM-
 
Регистрация: 31.10.2016
Сообщений: 44

Угу. Там грамотно всё расписано в плане архитектуры, про асинхронность, правда, маловато (для БД кури промисы). Если нужно только "GET" handlИТЬ, считай готовый шаблон для проекта.
Ответить с цитированием
  #5 (permalink)  
Старый 29.05.2017, 10:31
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Я отчасти для этих целей писал модуль под Koa -- koa-architect. Он еще сыроват, но в целом работать с ним можно
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разный код для development и production версий приложения khusamov ExtJS 13 10.05.2016 13:29
Требуется программист на QML для создания интерфейса клиентской программы для общения m.simakov Работа 0 11.02.2016 18:07
Меню для приложения Empty2112 Общие вопросы Javascript 3 15.09.2010 17:16
Оптимальный выбор браузера для интранет-сайта frid-karatel Javascript под браузер 12 29.12.2009 10:19