Обнаружение служб и репозиторий служб для синхронных вызовов без сервера AWS
Я пытаюсь создать набор служб, которые реализуют простую функциональность поиска. У меня есть услуги A, B, C и D. A действует как фасад и агрегатор для B, C и D.
Поэтому клиент будет звонить А, чтобы что-то искать. Затем A вызывает B, C и D и объединяет данные из них, как только они получат все данные, а затем возвращает ответ в синхронном режиме.
Я начал внедрять сервисы, используя AWS Lambda и Api Gateway. В настоящее время A имеет переменную окружения с именем B, и я использую ее для вызова B внутри A. Я хотел бы, чтобы A обнаружил B во время выполнения, поскольку, возможно, в будущем мы добавим другие службы как E или F или, возможно, удалим некоторые службы и Я не хочу изменять код А.
Я читал здесь и здесь о функциональности, которую некоторые люди хотели бы иметь в экосистеме Амазонки. Я также прочитал часть открытия того, что предлагает Мартин Фаулер здесь.
Так что из того, что я понимаю для асинхронных вызовов, лучше всего использовать SNS и иметь, например, издателей / подписчиков. Для синхронных звонков некоторые люди предлагают использовать Api Gateway. Мне не очень нравится иметь Api Gateway перед каждой лямбда-функцией (B, C и D). Другая проблема заключается в том, как реализовать сервис реестра. Я хотел бы иметь некоторую гибкость в добавлении и удалении услуг, которые использует А.
В настоящее время я думаю о том, чтобы хранить службы, которые должны использоваться в качестве параметра, в хранилище параметров System Manager для каждой среды. Затем сделайте запрос A в хранилище и для каждого имени функции вызовите его.
Можно ли сделать это, используя хранилище параметров System Manager в качестве реестра служб? Если нет, можете ли вы указать мне правильное направление?
0 ответов
Облачная карта AWS должна помочь вам в обнаружении сервисов для сервисов AWS.