¿Tiene sentido agregar un barniz frente al servidor GraphQL del nodo?

El primer lugar donde probablemente desee una instancia de Varnish si la que ya está frente a la API, es probable que se inserte una segunda a la derecha de este diagrama, frente a la aplicación frontal, para servir cualquier elemento almacenable en caché sin tocar el frente aplicación

Entre el servidor frontal y GraphQL hay un problema completamente diferente: la mayor parte del uso de GraphQL es enviar solicitudes complejas y totalmente personalizadas para cada página al servidor GraphQL. Si el servidor GraphQL expone metadatos de capacidad de almacenamiento en caché utilizables, como lo hace el servidor Drupal, será posible que Varnish almacene en caché los datos y posiblemente reciba visitas.

Un primer problema, tal como lo veo, es precisamente el hecho de que estas solicitudes tenderán a ser muy personalizadas, lo que significa que el espacio clave será enorme y la probabilidad de golpes en la caché baja, en la mayoría de los diseños.

Otro es el tema de la invalidación: las invalidaciones precisas y complejas (a la Drupal 8) permiten el uso de duraciones de caché muy largas (días) debido al proceso de invalidación muy granular, pero requieren un manejo (aún) inusual en la aplicación del cliente frontal. Si esto no está codificado, el almacenamiento en caché frontal / GraphQL tendrá que depender solo de vencimientos basados ​​en el tiempo, lo que provocará el conflicto habitual entre la eficiencia de la memoria caché (que necesita duraciones de vencimiento más largas) y las necesidades de actualización de la información (que necesitan vencimientos más cortos).