перекладывается на route53 и сервисы ищут друг-друга через него.
Сейчас я хочу аппку, в которой все запросы к сервисам с фронта, будут идти через 'gateway' сервис, который собственно через service discovery и будет находить куда переслать запрос.
В таком реализации cloud map, получается балансировка нагрузки перекладывается на 'gateway' сервис?
Могут ли сервисы сами себя регистрировать в cloud map и создавать записи в route53 где будут alias/cname на ALB?
Сервисы да могут себя там регистрировать есть API ECS вообще нативно это умеет делать Можно с ним вместе потестить Cloud Map
нативно протестил уже, регаются ip адреса тасок если хочу что бы регался ALB поулчается нужно что сервис через SDK регал alias запись... а как потом будет дискавериться, что отдаст cloud map, alias, или A/SRV
ALB это что то менее динамичное , обычно в обычном dns создаётся alias и дальше используется сам alias Возможно тут cloud map и не требуется
сейчас так и сделано. Но количество сервисов растет и прокидывать сервисы через env переменные немного надоело)
Terraform, cdk, что угодно дергающее api amazon решит эту проблему и не придется доплачивать за cloud map
А чем какой-нибудь Consul не подходит?
так у него такой же принцип работы - dns на ip контейнера
Так погодите, я думал, проблема именно в том, что вам надоело забивать куда-то адреса вручную или в env
да, но нужно ALB + service discovery
Консул и есть service discovery. Балансировку нагрузки тоже можно делать через него: он возвращает все активные адреса сервиса, дальше по ним можно делать round robin, pick random или что-то в этом духе
"round robin, pick random" - это перекладывается на consul, или сервис который дискаверит?
Сервис, который дискаверит. Ну, ещё в нём вроде есть рандомизация DNS, если это интересно. Сам консул умеет отсекать мёртвые/перегруженные инстансы за счёт healthchecks
cloud map это тоже самое, не вижу смысла если честно
Обсуждают сегодня