Этот вопрос похож на этот: Шлюз приложений Azure с Service Fabric
Однако в моем случае у меня есть дополнительное требование (основное приложение ASP.NET - без API).
У меня есть следующие настройки:
1x Application Gateway (with TrafficManager in Front)
1x Private IP LoadBalancer
1x Public IP LoadBalancer for Management
1x Service Fabric Cluster with Virtual Machine Scale Set
Кластер Service Fabric содержит несколько приложений, в частности:
2x ASP.NET Web API
1x ASP.NET Core
Когда я занялся этим проектом, маршрутизация была настроена по-разному в двух средах. Оба работают, но я хочу использовать один подход.
Среда A обходит частный балансировщик нагрузки с помощью внутреннего пула, который напрямую связан с набором масштабов виртуальной машины.
Среда B имеет два внутренних пула:
- один внутренний пул, который ссылается на частный IP-адрес балансировщика нагрузки. Используется для двух веб-API.
- один внутренний пул, который напрямую ссылается на набор масштабов виртуальной машины. Используется для основного приложения ASP.NET
Мне не удалось направить трафик для приложения ASP.NET Core через балансировщик нагрузки, хотя я, вероятно, где-то допускаю простую ошибку.
Вопрос: какой подход является «правильным»? Особенно в отношении:
- Сходство с сессией (все равно будет ли работать, если я пройду через балансировщик нагрузки?)
- Преимущества даже при наличии балансировщика нагрузки (он мне нужен, только если у меня большое количество маршрутов или что-то в этом роде?)
- HealthProbes (действительно ли мне нужны зонды на каждом «шаге» к виртуальной машине?)
- Последствия для ServiceFabric (обнаружение доступных услуг)
Если ServiceFabric совершенно не подходит для этих приложений или есть альтернатива Application Gateway: не стесняйтесь комментировать. Насколько я вижу, API-управление было бы хорошо для API, но не для приложения ASP.NET Core.