¿Qué es Webman?

Webman es un marco de servicio de alto rendimiento construido sobre Workerman, que integra múltiples módulos como HTTP, WebSocket, TCP y UDP. A través de tecnologías avanzadas como la permanencia en memoria, las corrutinas y los grupos de conexiones, Webman no solo rompe los cuellos de botella de rendimiento del PHP tradicional, sino que también amplía enormemente sus escenarios de aplicación.

Además, Webman ofrece un potente mecanismo de plugins que permite a los desarrolladores integrar y reutilizar rápidamente módulos funcionales creados por otros desarrolladores. Ya sea para construir sitios web, desarrollar interfaces HTTP, implementar comunicación en tiempo real, configurar sistemas de Internet de las Cosas, o desarrollar juegos, servicios TCP/UDP, servicios de Unix Socket, etc., Webman puede manejarlo fácilmente, mostrando un rendimiento y flexibilidad excepcionales.

Nota
La documentación actual corresponde a la versión webman v2. Si estás utilizando la versión v1, consulta la documentación de webman v1.

Filosofía de webman

Proporcionar la máxima extensibilidad y el mejor rendimiento con el núcleo más pequeño.

Webman solo ofrece las funciones más fundamentales (ruteo, middleware, sesión, interfaz de proceso definida por el usuario). Todas las demás funciones reutilizan el ecosistema de composer, lo que significa que puedes usar los componentes más familiares en Webman; por ejemplo, en el ámbito de bases de datos, los desarrolladores pueden optar por usar illuminate/database de Laravel, o ThinkORM de ThinkPHP, o cualquier otro componente como Medoo. Integrarlos en Webman es una tarea muy sencilla.

Webman tiene las siguientes características

  1. Alta estabilidad. Webman se desarrolla sobre Workerman, que ha sido históricamente un marco de socket de alta estabilidad con muy pocos errores.

  2. Rendimiento extremadamente alto. El rendimiento de Webman es entre 10 y 100 veces superior al de los marcos tradicionales de php-fpm, y aproximadamente el doble que el de marcos como gin y echo de Go.

  3. Alta reutilización. Sin necesidad de modificaciones, se pueden reutilizar los ecosistemas de composer existentes.

  4. Alta extensibilidad. Soporta procesos definidos por el usuario, permitiendo hacer cualquier cosa que Workerman pueda hacer.

  5. Super simple y fácil de usar, con un bajo costo de aprendizaje; la escritura de código no difiere de los marcos tradicionales.

  6. Soporta paquete binario, lo que permite ejecutar directamente sin necesidad de un entorno PHP.

  7. Utiliza la licencia MIT de código abierto, que es muy permisiva y amigable.

Dirección del proyecto

GitHub: https://github.com/walkor/webman No escatimes en tus estrellitas

Gitee: https://gitee.com/walkor/webman No escatimes en tus estrellitas

Datos de pruebas de carga de terceros

Con consultas a bases de datos, Webman alcanza un rendimiento de 390,000 QPS en una sola máquina, siendo casi 80 veces superior al del marco Laravel de la arquitectura tradicional php-fpm.

Con consultas a bases de datos, Webman tiene un rendimiento aproximadamente el doble que el de otros marcos web en el lenguaje Go.

Los datos anteriores provienen de techempower.com.