Eu tenho dois microservices escritos em PHP A & B. Endpoints são a.example.com e b.example.com. Ambos os serviços precisam ser acessíveis ao público. Além disso, o serviço B faz muitas solicitações de curl para a.example.com durante o processamento.
Ambos os serviços estão sendo executados no mesmo AWS VPC (dentro da mesma rede privada). Eu também tenho um CDN externo (por exemplo, Akamai) para cada endpoint.
Design 1:
Public and Service B make requests to A
|
V
a.example.com
|
V
CDN
|
V
Public Load Balancer
|
V
Web Servers for service A
Design 2:
Public makes requests to A Service B makes requests to A
| |
V V
a.example.com a-internal.example.com
| |
V |
CDN |
| |
V V
Public Load Balancer Internal Load Balancer
| |
V V
Web servers for service A
Pergunta , Esses projetos estão corretos para interconexões de microservices? Se não, qual é o design comum para interconexões de microservices?
Pergunta de bônus , é um DNS dividido (por exemplo, zona privada do AWS Route 53) um bom caso de uso se eu quiser manter o endpoint único a.example.com em vez de dois (a. & a-internal.).