и запущу также еврику в контейнере. То правильно ли я понимаю, что сервис сперва попробует найти этот hostname в eureka local copy и если его нет то обратится уже в dns сервис докера и получит ip address и никаких конфликтов не будет?
Ничего не понял. Сервис в еврике регается и говорит вот мой хост Потом когда он кому то нужен по lb выбирается инстанс и по хосту идёт обращение Хост может быть IP или доменное имя, во втором случае идёт обращение к dns, который внутри контейнера сначала поищет по хостнеймам сети докера И тут получается нюанс, клиент еврики емнип не берет автоматом хост докера, но надо проверять В любом случае если сервисы в разных сетях докера, то надо в конфиге приложения для клиента еврики прописать IP или хост хостовой машины. Ещё нужно что бы порт был прокинут в себя же, т.е. при прокидывании порты не меняем
Ну в типичном запросе http://identity-service/getData Если сервисы в 1 сети, то он здесь как поймёт, это service name, у которого можно получить address:port через local copy полученной от еврики, или обратиться в установленный докером dns, и от него получить address:port.
Хотя port он не получит в таком случае от днс, токо хост
Да я уже понял, что херню написал
В эврике смысла нет
А какая альтернатива
Как я понял cloud gateway тоже не юзают а вместо него ставят ngnix
ну если нет сервис регистри, то да
использовать инструменты инфраструктуры, где деплоишься
В последних версиях Куба уже даже есть реализация Gateway Api
Согласен, я пока не изучал эту историю, но если можно будет конфигурить роуты и деплоить их вместе с приложением - будет кайф :)
А тут про что речь? ) я только что-то такое нагуглил https://gateway-api.sigs.k8s.io/
да, это как раз реализация API в Кубе для создания API Gateway https://github.com/envoyproxy/gateway Вот пример :)
CGW не использовал, но написано что там маршрутизация на клиенте. А nginx/haproxy на сервере. у haproxy достаточно легко можно перегрузить проц и опаньки.
Обсуждают сегодня