Entonces … no hay mucho para continuar con la pregunta: sería realmente útil tener una idea un poco más detallada de lo que el autor de la pregunta espera lograr. Dicho eso …
He usado los servicios de GoLang como servidores HTTP y servidores de socket frente a aplicaciones PHP.
La razón principal para usarlos es almacenar en caché los datos para consultas o agrupar los mensajes entrantes.
- ¿Existe una base de datos de "forma de país" que podría usar para mostrar la forma del país seleccionado en mi sitio web?
- ¿Cuál es la velocidad de carga ideal para un sitio web?
- ¿Por qué hay una salida indefinida en Node.js, incluso cuando se imprime una instrucción console.log?
- Cómo compartir tus publicaciones de blog
- ¿La mayoría de los sitios web todavía están programados a mano?
En el caso de la consulta, una de mis aplicaciones sirve datos meteorológicos, lo que permite a los usuarios solicitar datos para cualquier período de tiempo entre 10 minutos y 10 días. El servicio golang almacena en caché los últimos 10 días de datos (actualizándose llamando a la aplicación PHP a través de HTTP cada minuto). Entonces, cuando llegan las solicitudes entrantes, en lugar de ir a Apache, luego a PHP, luego a MYSQL (y consumiendo todos los recursos del servidor y el tiempo que implica ese viaje) son autenticados y atendidos por un solo servicio GoLang. Ahora, no tengo cifras exactas para las mejoras de rendimiento / utilización de recursos que esto trae, en parte porque todavía no he probado el servicio GoLang hasta sus límites. Pero es al menos cien veces más rápido y utiliza una cantidad trivial de recursos del servidor.
Por lo tanto, buscamos un equilibrio entre la simplicidad de PHP (y la disponibilidad inmediata de desarrolladores PHP lo suficientemente buenos) y el alto rendimiento de Go. Muchas de las cosas que hace nuestra aplicación (cosas como la administración de usuarios y la contabilidad) no requieren un rendimiento excelente, por lo que PHP es excelente para esas cosas. Una pequeña cantidad de cosas (como la ingestión y el servicio de datos) realmente necesita escalar, por lo que usamos Go para esos servicios.