¿Cuáles son las mejores prácticas para minimizar las llamadas al servidor en una aplicación web?

Creo que esta pregunta es ambigua, por lo que responderé la pregunta que creo que está haciendo.

Supongo que tiene un servidor web y al menos un servidor de base de datos.

Esperaría ver una solicitud web manejada por el servidor web, pero que el código del lado del servidor está haciendo múltiples llamadas al servidor de la base de datos para adquirir los datos.

Hay muchas formas conocidas de reducir esta táctica de servidor de base de datos en exceso, pero las mejores técnicas dependen de la tecnología subyacente.

Rails, por ejemplo, modela datos asociados como ‘asociaciones’ y proporciona formas fáciles de buscar previamente. En su caso, probablemente haya una publicación con comentarios asociados, cada uno de los cuales tiene un campo de votación, y algunas otras cosas. Rails admite el engorde de todas esas cosas cuando recuperas el registro Post escribiendo un SQL apropiado.

Por lo que he visto de Drupal, si ha creado sus registros utilizando el Kit de construcción de contenido (hasta DP 7), está jodido. Su millaje puede variar con otros módulos (corrí gritando cuando miré el manejo de DB subyacente en CCK, pero eso fue porque no me permitió la flexibilidad y el ajuste que necesitaba y estoy muy emocional. Funciona muy bien para GUI aplicaciones construidas, así que evalúe cada caso según sus méritos)

Probablemente hay buenas soluciones de Django, pero esa tampoco es mi área.

En PHP sin formato, debe volver a escribir la capa de acceso a la base de datos para absorber todo lo que necesita en una sola consulta SQL y agregar suficientes índices en los campos para que la consulta evite realizar un análisis secuencial para encontrar los datos.

Si está utilizando una base de datos sin SQL, esta es la provincia de su tipo de base de datos para que funcione mejor.

¿Hay un patrón de diseño? Probablemente, pero todo se reduce a reescribir su código para minimizar el tráfico de red: tanto entre el usuario web como el servidor web y también entre el servidor web y el servidor de base de datos.

Cree una interfaz REST que devuelva todos los datos necesarios para representar el flujo de actividad en una sola solicitud.