Heroku Load Balancer vs Netflix zuul

De acuerdo con esta respuestahttps://stackoverflow.com/a/41811770/2849613 Me gustaría obtener un poco más de información sobre las mejores prácticas con microservicios en Heroku.

La pregunta es qué enfoque es mejor.

¿Instala todos los servicios como aplicación independiente y utiliza uno de ellos como "proxy" REST (por ejemplo, Netflix Eureka)?

O

¿Crear un enfoque basado en Docker con, por ejemplo, Netflix Zuul como equilibrador de carga?

Por mi cuenta ya veo algunos pros y contras de ambos enfoques:

Pros: mejor escalabilidad (fácil de crear nuevas máquinas para una mayor carga).Contras: la comunicación entre servicios va "fuera de heroku" en otras palabras: debido a que la aplicación heroku tiene una dirección pública, todos pueden conectarse directamente al servicio (sin tener que lanzar Eureka), por eso todos los servicios deben proporcionar algún método de autenticación y compartirlo entre sí - Creo que esto es propenso al riesgo.

Pros: entorno de producción fácil de reproducir para pruebas y desarrollo (imagen acoplable), la comunicación entre servicios se realiza "internamente" (imagen a imagen en lugar de aplicación a aplicación).Contras: difícil de escalar (creo que el equilibrio de carga entre las aplicaciones de Heroku y las imágenes de la ventana acoplable está un poco por encima).

¿Qué enfoque es mejor? ¿Quizás pueda mezclarlos? ¿O tal vez hay alguna solución diferente y mejor?

Sea honesto, lo único que estoy seguro es que quiero usar rabbitMQ como una cola de mensajes ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta