微服务之间的内部stream量的最佳实践devise是什么?

我有两个PHP写的微服务A&B.端点是a.example.com和b.example.com。 这两种服务都需要公共访问。 另外,服务B在处理的时候对a.example.com做了很多curl请求。

这两种服务都在同一个AWS VPC上运行(在同一个专用networking中)。 我也有一个外部CDN(例如,Akamai)为每个端点。

devise1:

Public and Service B make requests to A | V a.example.com | V CDN | V Public Load Balancer | V Web Servers for service A 
  • 更高的成本,因为AWS的带宽成本更高
  • 服务A的更多保护,因为它在CDN后面
  • 随着stream量到达云端并返回,服务B响应时间变慢

devise2:

  Public makes requests to A Service B makes requests to A | | VV a.example.com a-internal.example.com | | V | CDN | | | VV Public Load Balancer Internal Load Balancer | | VV Web servers for service A 
  • 由于stream量在专用networking内,所以服务B的响应时间更快
  • 由于stream量在专用networking内,带宽成本较低
  • 服务A的风险可能被服务B粉碎
  • 额外的内部负载平衡器的额外成本
  • 维护两个复杂性a。 和一个内部。 端点

问题 ,这些微服务互连的devise是否正确? 如果不是,微服务互连的常见devise是什么?

附加问题 ,如果我想维护单个端点a.example.com而不是两个(a。&a-internal。),则将DNS(例如AWS Route 53专用区域)拆分为一个很好的用例。