¿Por qué Taobao utiliza el desarrollo de programas PHP?
A este nivel, las ventajas de PHP son obvias: la velocidad de desarrollo es rápida y clara de un vistazo. Las deficiencias también están bien ocultas. Proyectos de tamaño mediano: PHP bien estructurado y orientado a objetos. Para un proyecto de tamaño mediano, recomiendo usar un marco bien diseñado. El marco puede basarse en el modelo MVC y encapsular muchas operaciones subyacentes. Por supuesto, debe haber un mecanismo de almacenamiento en caché bueno y preferiblemente transparente, para que el mecanismo OO que agregamos para adaptarnos a los cambios pueda ejecutarse más rápido y mejor. a este nivel. Las deficiencias de PHP están comenzando a aparecer, como no ser totalmente compatible con OO (este PHP5 se ha mejorado mucho) y solo el modo de subproceso único. Otras herramientas periféricas comenzaron a carecer de soporte, como PHP sin buenas herramientas de refactorización y herramientas de prueba unitarias integradas en el IDE. Las ventajas son, por supuesto, un desarrollo rápido y recursos de código abierto ampliamente disponibles. Proyectos grandes: PHP optimizado extendido Los proyectos grandes aquí simplemente se refieren a proyectos distribuidos, es decir, su programa debe implementarse en N servidores. En este nivel, PHP carece de mucho soporte en comparación con J2EE. Shadow y yo discutimos en detalle algunos de los problemas que deben abordarse cuando se aplica PHP a sistemas grandes en el 735. Por supuesto, estos problemas no son solo problemas con el lenguaje PHP, sino también problemas con el desarrollo periférico: 1. El código de la página de PHP se comparte, y el código fuente de PHP una vez se carga en la memoria y se guarda en ella: este viene con APC y Zend El optimizador puede solucionarlo. Los objetos de datos entre páginas PHP se pueden compartir * * *. PHP y PHP pueden compartir un objeto de datos, como una matriz, lo que ahora se puede lograr mediante serialización, pero habrá un archivo io, que se puede lograr mediante * * * memoria compartida o dirección memcached. 3 grupo de conexiones de base de datos PHP, porque en el caso de múltiples front-end, PHP no puede controlar la conexión a la base de datos, por lo que se debe crear un grupo de conexiones delante de la base de datos, similar a sqlrelay. Además, el almacenamiento en caché de datos también es importante. Un pequeño truco para el desarrollo bajo alta presión es dejar la base de datos en paz, si es posible. 4 Sistema de almacenamiento en caché de front-end PHP. El mecanismo de almacenamiento en caché transparente y controlable garantiza que las páginas del sitio web consulten la base de datos la menor cantidad de veces. Existen muchas implementaciones de este tipo, pero no se ha encontrado ninguna particularmente buena. 5 Una aplicación PHP, después de resolver con éxito estos problemas, no será un problema soportar un poco de presión. En este nivel, es importante integrar PHP, Java, C++, Python, etc. para que sea un sistema eficiente. Podemos usar memcached para la gestión de memoria distribuida, Lucene para la recuperación de texto completo, contenedores EJB para algunos componentes de lógica empresarial y PHP como pegamento entre el front-end y el sistema, lo que permite un enlace rápido y flexible.