Как я могу реализовать шлюз API в веб-API Asp.net (не. NET ядро) с помощью C # - PullRequest
0 голосов
/ 25 февраля 2019

Теперь мы разработали множество сервисов, используя веб-API asp.net (не ядро ​​.net), нам нужно разработать шлюз, позволяющий клиенту подключаться к одной конечной точке, после чего этот шлюз решает, какой API-интерфейс вызывать для обработкивходящий запрос и возврат ответа клиенту, поэтому web api в качестве шлюза перенаправит запрос и вернет ответ

client <----> api gateway <----> соответствующий web api

Нам нужно разработать его максимально просто, но с лучшей практикой, используя c # и asp.net web api

любые идеи ??

1 Ответ

0 голосов
/ 25 февраля 2019

Ocelot - мощная библиотека, но она используется в .Net Core, которая помогает нам создавать отказоустойчивый шлюз, и я не уверен в похожих библиотеках Asp.net, которые вы можете использовать в этом случае.Если вы не можете найти подходящую библиотеку или провайдера (провайдеры облачного API-шлюза, такие как Azure, AWS), и вам необходимо написать собственный API-интерфейс шлюза, вам нужно знать о нескольких вещах.

Bestпрактики для API-шлюза.

Api-шлюз очень полезен, но в то же время он может быть бутылочным горлышком.Ваш шлюз должен быть устойчивым и высокодоступным.В зависимости от загрузки вашего запроса вам может потребоваться реализовать такие шаблоны, как «Автоматический выключатель», «Повторить попытку» и «Перегрузка головки», и для этого вы можете использовать библиотеку под названием Polly.Вы можете регистрировать свои запросы на отладку и мониторинг производительности.Безопасность - это еще один аспект, но он зависит от того, как вы реализуете аутентификациюВы можете использовать комбинацию следующих библиотек для достижения вашей цели.

https://github.com/App-vNext/Polly

https://github.com/reactiveui/refit

...