В настоящее время у нас есть количество компонентов, подвергая их API-интерфейсам REST и SOAP, а также количество существующих веб-приложений. Ниже представлен высокоуровневый вид некоторых конечных точек, имитирующих некоторые конечные точки с использованием образца домена, будет example.comКаков наилучший способ открыть API через ESB?
restsvc.example.com/v2 --ELB ---> | svr1.example.com/v2 |
soapsvc.example.com/v3 --ELB ---> | svr2.example.com/v3 |
corpwebapp.example.com --ELB ---> | svr1.example.com/someapp/index.html |
ncorpwebapp.example.com --ELB ---> | svr2.example.com/anotherapp/index.html |
Для решения различных сценариев использования мы внедрили ESB, и теперь все эти API и даже веб-приложения проксированы через ESB.
restsvc.example.com/v2 -ELB -> | esb.example.com: 8280/service/v2 | -> | svr1.example.com/v2 |
soapsvc.example.com/v2 -ELB -> | esb.example.com: 8280/service/v3 | -> | svr2.example.com/v3 |
corpwebapp.example.com -ELB -> | esb.example.com: 8380/someapp/index.html | -> | svr1.example.com/someapp/index.html |
nonwebapp.example.com -ELB -> | esb.example.com: 8480/someapp/index.html | -> | svr2.example.com/anotherapp/index.html |
Все эти общедоступные apis указывают на ESB, но теперь ESB раскрывает эти API и веб-приложения в разных портах и конечных точках. Например: теперь приложение v2 прослушивает порт 8280 с помощью пути/службы/v2
Поскольку конечные точки изменены, чтобы поддерживать существующие конечные точки с портом по умолчанию, ELB должен удовлетворять этим требованиям. Но это похоже на жесткую связь с ELB, поскольку необходимо провести некоторое преобразование между портами и путями.
У меня есть несколько вопросов
- Является ли это правильный способ воздействия APIs через ESBS?
- Является ли обработка портов и путей на уровне ELB нормальным и правильным поведением?
- Является ли AWS ELB способным поддерживать это требование?
- Если вопрос один отвечает «нет», хорошо ли иметь логику уровня посредничества для маршрутизации на разные серверы на основе шаблонов URL-адресов субдоменов и т. Д.?
Похоже, вам нужно правильное управление SOA на месте? У вас есть официальный документ о руководстве? На эти вопросы должны отвечать ваши политики SOA. – Namphibian
@Namphibian, спасибо за комментарий. изначально у нас не было управления SOA на месте позже, мы инициировали управление SOA, в том числе политики SOA, адресное число правил проектирования –