Узлы для архитектуры микро-сервисов? Необходимые инструменты, рамки и технологии? - PullRequest
1 голос
/ 19 апреля 2019

Мне нужно создать платформу электронной коммерции в микросервисной архитектуре. Поэтому мне нужна помощь со следующим:

  1. Апи-шлюз. Должен ли я создать свой собственный шлюз с помощью Express или использовать существующие инструменты, такие как Express-Gateway или Kong?
  2. Служба обнаружения. Нужно ли использовать сервис обнаружения даже при развертывании сервисов на паас, таких как netlify или heroku. Если так, то какой из них мне следует использовать? Eureka, consul, etdc, skyDNS?
  3. Лучший способ общения между службами? Если это будет обычный отдых api, обращайтесь к другим сервисам, используя axios / fetch. Или сообщение с использованием cloudAMPQ, или любой другой метод? как grpc?
  4. Сделки? Saga's Command / Orchestration какой-нибудь пример или проект с открытым исходным кодом? Транзакция, управляемая событиями, поэтому где / как ее создать? Мне следует создать другое экспресс-приложение с socket.io и подключить другие сервисы для прослушивания событий. Или есть какой-нибудь общий способ сделать это?
  5. senecajs, молекулярный я должен использовать эти рамки или написать свой собственный код.

Хотя Интернет полон ресурсов для изучения микросервисов с использованием языка Java, но не смог найти хороших консолидированных ресурсов для nodejs.

Так есть ли какой-нибудь хороший учебник или статья или проект с открытым исходным кодом, который подробно описывает весь мир микросервисов с помощью nodejs?

Любая помощь высоко ценится :).

Спасибо и уважаем

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

1) Экспресс-шлюз сделает ваш проект быстрее, и он будет более гибким, чем ручной api-gatway

2) Docker-Swarm сделал микросервис более прочным и может привести к большей гибкости в индивидуальном развертывании сервиса.

3) весь процесс подключения к внешним службам требует рефакторинга кода, например, вам необходимо установить пакет redis для передачи данных между службами и использовать Google Remote Процедура вызова для установки политики в подключение. Ваш выбор зависит от ваших знаний. Я предпочитаю использовать framework для их автоматической обработки, например, KOA или Nestjs

4) Я предпочитаю использовать оболочку во всех сервисах для подписки на очереди сообщений, таких как redis и connect, чем для обработки транзакций, управляемых событиями.

5) Каждый из этих фреймворков имеет встроенную сервисную архитектуру. трудно справиться с внутренней архитектурой и всей политикой обслуживания проекта (именно в senecajs)

0 голосов
/ 19 апреля 2019

С точки зрения микроуслуг nodejs: https://hackernoon.com/creating-simple-api-gateway-using-node-js-6d5933c214b8

Также инструмент для микросервисов nodejs: http://senecajs.org/

На самом деле, есть куча ресурсов, и когда вы углубитесь в них, вы найдете свой предпочтительный способ развития. Удачи.

...