Я изучаю архитектуру микросервисов, и у меня есть вопрос.Архитектура микросервиса, аутентификация и другие услуги
Признав, что у меня есть несколько служб на другом хосте, как следующее:
- Служба аутентификации на http://80.80.80.80:9000/
- Billing служба по http://90.90.90.90:1234/
- службы планирования на http://70.70.70.70:7412/
Мой вопрос, когда пользователь запрашивает на шлюзе, он отправляет токен доступа (stateless, oauth2.0, что угодно), тогда g ateway спрашивает службу аутентификации, и если пользователь существует и имеет разрешения, он получает доступ к ресурсам в другой службе.
Это нормально, но что, если я попытаюсь позвонить непосредственно BillingService со своего хоста? Вы можете сказать мне, что порт закрыт, и я согласен с этим.
Но означает ли это, что порт разрешен только с определенного хоста другому? Что означает, что услуга биллинга на порту 1234 разрешена только с шлюзовой машины?
Я что-то упустил?
Спасибо за заранее
Хорошо, но проблема в том, что я должен применять защиту для всех моих сервисов (с CAS или другой). Поэтому я должен повторить фрагменты кода. Разве это не плохая практика? – mfrachet
Нет, вы не будете повторять фрагменты кода. Вы будете писать код один раз, упаковать его и повторно использовать. Но, надеюсь, вам не придется этого делать, потому что ваша инфраструктура безопасности будет иметь код, который вы можете легко интегрировать в свой контейнер веб-сервисов. –
Я должен документировать больше о архитектуре микросервисов, я думаю. Спасибо за вашу помощь – mfrachet