Прямо сейчас у меня есть такая архитектура:
internet
|
[ IngressController ]
| |
[ Ingress A] [ Ingress B]
--|-----|-- --|-----|--
[ Service A] [ Service B]
| |
[ Pod A] [ Pod B]
Таким образом, если Service A
запрашивает данные у Service B
, он использует full qualified name
, например,
ResponseEntity<Object> response = restTemplate.exchange(host.com/serviceB, HttpMethod.POST, entity, Object.class);
Поскольку все они находятся в одном кластере, я бы попытался изменить архитектуру, чтобы улучшить связь между службами. Я представил что-то вроде этого:
internet
|
[ IngressController ]
| |
[ Ingress A] [ Ingress B]
--|-----|-- --|-----|--
[ Service A]-[ Service B]
| |
[ Pod A] [ Pod B]
Таким образом, службам будет разрешено запрашивать друг друга только по имени или как-то еще. Я просто не уверен, как это реализовать, используя REST-Services
.