У меня есть два микросервиса, написанные на PHP, A и B. Конечные точки - a.example.com и b.example.com. Обе службы должны быть общедоступными. Кроме того, во время обработки служба B делает много запросов curl к a.example.com.
Оба сервиса работают в одном AWS VPC (в одной частной сети). У меня также есть внешний CDN (например, Akamai) для каждой конечной точки.
Вариант 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
Вариант 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
Вопрос, Это правильные конструкции для соединений микросервисов? Если нет, какова общая конструкция соединений микросервисов?
Бонусный вопрос, разделенный DNS (например, частная зона AWS Route 53) - хороший вариант использования, если я хочу поддерживать одну конечную точку a.example.com вместо двух (a. & a-internal.).