2016-07-18 3 views
1

Я разрабатываю платформу, использующую 3 микросервиса; a сервер сокетов, a сервер внешнего управления работает экспресс и почтовый сервер для отправки электронных писем.Доля кодовых зависимостей между микросервисами в nodejs

Проект файл Strutture очень прост:

project_root 
|______________ socket 
|______________ frontend 
|______________ email 

Внутри каждой папки есть nodejs проект. Чтобы общаться друг с другом, эти микросервисы используют простой Redis pub/sub implementation. Дело в том, что внутри каждой папки node_modules будет дубликат пакета NPM для зависимостей Redis. Таким образом, есть дублированный код, и если я хочу обновить пакет, мне придется делать это 3 раза.

Я использую неправильный подход?

ответ

1

Я начал проект NodeJS с аналогичной структурой, и он быстро стал беспорядком. Я переместил node_modules, общий код и package.json в корневой каталог проекта и использовал отдельные файлы запуска, чтобы я мог совместно использовать общий код между проектами. Оказалось намного проще развернуть и поддерживать.

root 
|_ socket 
|_ frontend 
|_ email 
|_ node_modules 
|_ package.json 
|_ app_socket.js 
|_ app_frontend.js 
|_ app_email.js 
Смежные вопросы