Думаю, что node.js вполне может использовать общие принципы микросервисной архитектуры, реализация зависит от фантазии и опыта.
По опыту проекта социальнй сети на микросервисах и шины сообщений:
Небольшой кусочек логики выносится в несколько микросервисов, для этого куска логики обычно легко создать схему в БД(обычно 1-4 таблицы) и запретить другим сервисам доступ к этой схеме. Если сервис (или несколько) написан правильно, то он легко может быть перенесен с одно сайта на другой без лишних проблем с интегрцией.
Сервисы можно разделить на разные типы:
- "CRUD микросервис" с бизнес логикой и работающий с БД, может запросить данные у других микросервисов (например баланс счета пользователя или разрешение на выполнение какой-то операции), может отправить инфурмацию о сделанной работе (например сохранил сообщение чата в БД -- отправь инфу, что сообщение сохранение)
- "Маршрутизаторы сообщений" читают из очереди сообщения, иногда запрашивают данные у других микросервисов, переписывают/дописывают сообщения и пересылают по другим адресам или блокируют отправку сообщений далее (например пользователя можно информировать отправкой письма или push нотификацией т.к. пользователь пользуется только приложением)
- "Таймеры" получают сообщение из очереди, на основании конфигурации создают таймер и потом пересылают сообщение по другому адресу (например у пользователя подписка на месяц и через 3 недели нужно информировать его о завершении)
Для общений микросервисы могут использовать RabbitMQ с какой-то обверткой поверх него.