Я уверен, что мне нужно использовать шлюз API, но я не могу понять основные различия между различными инструментами в сценарии использования.Выбор API-интерфейса Gateway для реализации архитектуры SOA/микросервисов
В настоящее время у меня есть несколько сервисов (DBs, Mobile App, Web App и некоторые дополнительные системы. Рассмотрим 15 различных сервисов), которые взаимодействуют друг с другом через API REST. Это трудно управлять и тестировать, поэтому я хотел бы изменить архитектуру на нечто большее, чем то, что Netflix делает с Zuul.
В идеале услуги не знают о других услугах. Они отправляют запрос на конкретную конечную точку (шлюз API). Затем API-шлюз взаимодействует с необходимыми службами и отправляет ответ обратно. Вот пример на практике: служба отправляет запрос на пользовательский (конечный) коннектор, выполняется разбор запроса, разбивается на более мелкие запросы, которые отправляются другим службам (которые владеют запрошенным конкретным содержимым), возвращают содержимое в ответе, собрать все ответы, создать окончательный ответ со всем собранным контентом, отправить ответ обратно первому сервису, который отправил запрос.
Мне нужна высокая доступность, масштабируемость, отказоустойчивость, возможность отслеживать и тестировать все службы в одном месте, способность выполнять канадское тестирование, легко добавлять новые службы и управлять более старыми службами. Я ценю программное обеспечение с открытым исходным кодом и зрелое программное обеспечение. Должен покинуть помещение.
Лучшие решения, которые, я считаю, помогут решить мою проблему: WSO2, Apigee, Zuul и Amazon API Gateway. Я не знаю, что более подходит для моего варианта использования. Я смотрел на других, но я не нашел никаких преимуществ в функциях или стоимости по сравнению с ними. 4.
Благодарим вас за отзывы о преимуществах и недостатках этих технологий! Другие предложения также приветствуются!
Примечания: Не все мои услуги находятся на AWS, но некоторые из них. Система должна обрабатывать пики с десятками тысяч запросов в минуту, которые бывают регулярными, но не всегда.
Благодарим вас за отзыв! Поэтому, если я правильно понял, Zuul может быть не лучшим вариантом, если я ищу полное решение, которое работает из коробки ... – jose
Если вам нужно решение, в котором все функции будут доступны из коробки, используйте некоторые Если вы хотите реализовать свои собственные решения с помощью фильтров, используйте Zuul. – Ashish