Cuando inicias un blog con tu propio nombre de dominio, tu primera publicación debe ser un poco más importante para ser digna del nombre de dominio de $4. Como practicante técnico durante diez años, después de diez años de deambular, descubrí que hay algunos conocimientos que tengo que leer en todo el mundo para resolver una pista. Permítanme explicarlo sistemáticamente paso a paso desde el principio. ¿Puede un sitio web pequeño con miles de visitantes, o un sitio web pequeño con uno o dos millones de visitantes al día, pasar por esta etapa sin problemas y sin deficiencias tecnológicas inherentes? Este artículo está escrito para personal técnico, pero también para empresarios que no lo hacen. entender la tecnología quién.
Todos los que conocen Internet tienen sus propias ideas y algunas personas las ponen en práctica, crean un sitio web y comienzan a operarlo. De hecho, desde una perspectiva puramente tecnológica de sitios web, debido al desarrollo del modelo de código abierto, ahora es muy fácil y económico crear un sitio web pequeño. Cuando el número de visitas alcanza un cierto nivel, el coste empieza a dispararse y empiezan a aparecer los problemas. El aumento de costos causado por el aumento del ancho de banda, la expansión del hardware y la expansión del personal es obvio, y una parte considerable del costo se debe a la reconstrucción del código, la reconstrucción de la arquitectura e incluso el reemplazo del lenguaje de desarrollo subyacente. El mayor problema es la pérdida de datos. Después de trabajar duro durante varios años, puede volver a empezar su negocio de la noche a la mañana.
Reducir costos significa aumentar ganancias. Podemos evitar muchas cosas al principio, sentando unas buenas bases primero, podemos ahorrarnos mucha energía y preocupaciones en el futuro.
Suponga que usted es un técnico involucrado en la creación de un negocio y actualmente está en quiebra. Tiene que hacer todo usted mismo y pagarlo usted mismo. Necesita cientos de miles de fondos iniciales para crear un sitio web con una aplicación no particularmente complicada. debes prestar atención a los siguientes puntos:
1. Lenguaje de desarrollo
En términos generales, cuando los técnicos (programadores) inician un negocio, eligen el lenguaje con el que están más familiarizados en función de su experiencia técnica. Sin embargo, teniendo en cuenta que no siempre se pueden escribir programas solos, hay que pensarlo detenidamente. No importa qué idioma se utilice, la calidad del código final depende de la gestión, por lo que debemos ser prácticos desde un nivel de lenguaje puro. Los populares java, php, .net, python y ruby tienen sus propias ventajas y desventajas. Para python y ruby, todavía es relativamente difícil contratar personal y la optimización del rendimiento no puede requerir algo de esfuerzo. permitirse un servidor de Windows. Java y PHP todavía son los más utilizados. Para los sitios web cuyas aplicaciones casi siempre son compatibles con el front-end en la etapa inicial, PHP tiene ventajas ligeramente mayores, como fácil entrada, patrones de diseño simples, escritura rápida y rendimiento suficiente. Sin embargo, no prestar atención a los patrones de diseño también es su ventaja. desventaja, y es fácil de volverse flojo, tiene muchos errores ocultos y es difícil de mantener. La ventaja de Java es que todo el proceso de gestión cuenta con la ayuda de muchas herramientas maduras, y la escritura fuerte también puede evitar algunos errores con discapacidad mental. Independientemente de si es práctico o no, la mayoría de los programadores de JAVA prestan más atención al formato del código. Todavía se ve bien. Esto también es una desventaja. Los principiantes pueden centrarse demasiado en los patrones y tener dificultades para resolver las necesidades reales.
La interfaz no es sólo HTML y CSS. Toda la parte responsable de interactuar con el usuario es la interfaz, incluido el controlador. Todavía se recomienda utilizar PHP para este tipo de programa. La razón principal es que se desarrolla rápidamente y cuenta con una amplia gama de profesionales. En cuanto al backend, como análisis de comportamiento, interfaces bancarias, procesamiento de mensajes asincrónicos, etc., no importa qué programa utilice, solo puede elegir diferentes idiomas según las diferentes necesidades comerciales.
2. Gestión de versiones de código
Si la velocidad de la red entre desarrolladores es similar, use SVN; si está más dispersa, por ejemplo entre países, use hg. La mayoría de la gente todavía usa svn.
Suponiendo que elija svn, existen varias consideraciones. Una es qué estructura de árbol utilizar. En la etapa inicial, puede haber solo una troncal, pero luego necesitarás establecer sucursales, como una sucursal de desarrollo y una sucursal en línea. Más adelante, puede haber una sucursal para cada equipo. Cuando hay poca gente, se recomienda elegir dos ramas, desarrollo y en línea. Después de que las pruebas locales de cada función sean correctas, envíelas a la rama de desarrollo. Finalmente, las pruebas unificadas se pueden fusionar en la rama en línea. en línea. Si desea usar svn como disco duro móvil, no importa si escribe un poco y lo confirma una vez, pero será un poco más grande cuando se fusione. Estas personas pueden crear una sucursal o incluso un almacén de códigos local. , envíelo a su propia rama a voluntad y luego pruébelo nuevamente.
La implementación se puede realizar de forma manual o automática. La implementación manual es relativamente simple: generalmente svn se actualiza directamente en el servidor o busca un nuevo directorio svn checkout y luego pasa la raíz web a ln -s. Cuanto más compleja es la aplicación, más complicada es la implementación. No existe un estándar unificado. Simplemente no utilice la carga ftp. En primer lugar, la tasa de error de referencias de archivos inconsistentes aumenta al cargar. inconsistente con la versión en línea, lo que resultó en un error tipográfico que originalmente quería corregir pero terminé revertido. Si hay varios servidores, aún se recomienda implementar automáticamente la máquina cuyo código se cambia se elimina temporalmente del grupo de servicios actual y luego se vuelve a unir una vez completada la actualización.
No importa cuán pequeño sea el proyecto, desarrolle un buen hábito de usar la administración de versiones. Al menos puede usarlo como respaldo. Aunque mi http://zhiyi.us es solo un WordPress, sigue siendo svn. Uno o dos CSS, está bien. Los frutos del trabajo.
3. Hardware del servidor
No envidies a los grandes clientes ni a los ricos. Echa un vistazo al área minorista de la sala de informática. Un solo servidor admite innumerables sitios web. Si tiene fondos suficientes, se recomienda tener al menos tres configuraciones estándar para procesamiento web, base de datos y copia de seguridad. El servidor web requiere al menos 8G de memoria y dual sata raid1. Si la economía es un poco floja o hay muchos archivos o imágenes estáticas, entonces 15k sas raid1+0. La base de datos debe tener al menos 16G de memoria y 15k sas raid 1+0. Lo mejor es configurar el servidor de respaldo con la misma configuración que el servidor de base de datos. Para el hardware, puede comprar el chasis de su propia marca, es decir, el chasis está equipado con una placa base y una caja de disco duro, y puede combinar la CPU, la memoria y el disco duro usted mismo. También puede comprar un juego completo. marcas, o puede ser compatible con la máquina. Con tres máquinas, el precio de mercado es de 60.000 a 70.000 RMB.
El servidor web puede ejecutar programas y servir como memoria caché, mientras que el servidor de la base de datos solo ejecuta la base de datos principal (si es MySQL, el servidor de respaldo hace relativamente más trabajo. La configuración web, la configuración de la caché y la configuración de la base de datos deben ser consistentes). con los dos anteriores De esta forma, si hay algún problema ya sea con la WEB o con la base de datos, cambie la dirección IP del servidor de respaldo y cambie a él. La estrategia de copia de seguridad puede ser drbd, rsync o muchas otras soluciones de copia de seguridad de código abierto para elegir. rsync es el más simple, simplemente póngalo en cron y ejecútelo usted mismo. Para la copia de seguridad y la conmutación, se recomienda realizar más pruebas, elegir la más segura y adecuada para el negocio y realizar la copia de seguridad en ubicaciones externas tanto como sea posible.
4. Sala de ordenadores
Trate de no elegir tres tipos de salas de computadoras: salas de computadoras de China Unicom con acceso extremadamente lento a China Unicom, salas de computadoras de China Unicom con acceso extremadamente lento a China Telecom y salas de computadoras de China Mobile o China Railcom con acceso extremadamente lento a China Unicom. ¿Qué pasa con la sala de informática de Netcom? Estimado, China Netcom y China Unicom se fusionaron hace mucho tiempo y pasaron a llamarse China Unicom. Busque mucho, visite el sitio, realice muchas pruebas y consulte de muchas maneras. Todavía hay muchas salas de computadoras de alta calidad en las principales ciudades nodos como Beijing, Shanghai y Guangzhou. Encuentre una sala de computadoras con buena calidad de red. Gestión estricta. En particular, la gestión debe ser estricta. No se puede acceder al sitio web. Después de una llamada telefónica, descubre que alguien más cortó el cable de red durante el mantenimiento. Si usted mismo tira algunas fibras ópticas, se llama sala de computadoras. Depende de su tolerancia al riesgo y su calidad psicológica. Se puede decir que la sala de computadoras es muy importante. Está directamente relacionada con la velocidad de acceso al sitio web. La velocidad de acceso al sitio web está directamente relacionada con la experiencia del usuario. Puedo trepar por la pared para ver el paisaje, pero es difícil de comprar. una VPN de juegos en línea para abrir su sitio web no tan conocido. Quizás el Ajax de su sitio web sea excelente, pero el documento nunca está listo y algunos códigos siempre están aislados de los usuarios.
5. Estructura
La arquitectura inicial es generalmente relativamente simple y consta de equilibrio de carga web + base de datos maestro-esclavo + caché + almacenamiento distribuido + cola. En términos generales, existen solo estas pocas cosas. En términos de detalles, innumerables artículos las han repetido. Según el futuro, habrá N más WEB, N más relaciones maestro-esclavo, N más cachés y N más. Diseños xxx. Las soluciones básicas están todas listas. Sí, pero lo que lo hace mejor que otros es que su diseño tiene en cuenta el efecto de avalancha cuando falla el caché, la coherencia de los datos y la diferencia de tiempo de la sincronización maestro-esclavo. de la cola y la estrategia de reintento después de una falla, la eficiencia del almacenamiento de archivos y los métodos de respaldo y otras situaciones inesperadas. Un día el caché fallará, la replicación de la base de datos algún día se interrumpirá, algún día la cola no podrá escribir y algún día la fuente de alimentación se agotará. Según la Ley de Murphy, si no se tienen en cuenta, el sitio web tarde o temprano se convertirá en una mesa de café.
6. software de servidor
Linux, nginx, php y mysql son casi estándar. Además de mirar el nombre, también tenemos que elegir la versión. Existen muchas distribuciones de Linux, siempre y cuando no existan requisitos especiales, elige la que tenga más usuarios, la comunidad más activa, la configuración más conveniente y los paquetes de software más completos y recientes, como Debian y Ubuntu. En cuanto a RHEL y similares, ¿utiliza software que solo se puede ejecutar en RHEL? Para el resto de nginx, php, mysql, activemq, otros, etc., a menos que haya cambiado este software o su programa realmente no sea compatible con la nueva versión, intente tener la versión más nueva, cuanto más nueva sea, más funciones nuevas. y reducción de errores, aumento del rendimiento. Siempre hay algunas personas que te dicen de oídas que la versión anterior es estable. La llamada estabilidad se refiere a negocios especiales. En cuanto a un sitio web escrito en PHP, la mayoría de las personas no han cambiado ningún código fuente del software del servidor. En la mayoría de los casos, se puede actualizar sin problemas a una nueva versión. Al igual que jdk5 a jdk6, python2 a python3, las actualizaciones con cambios relativamente grandes siguen siendo relativamente raras. Eche un vistazo al ChangeLog, observe las instrucciones de actualización y evalúelo según su propia situación. Cuanto antes actualice, mejor. Otros usan php6 para escribir programas y aquí todavía usamos php4. Sigue siendo muy responsable actualizar excelentes programas de código abierto. Preste atención a la documentación y no tenga miedo.
Se han preparado los seis puntos anteriores. Ahora que tenemos el entorno operativo, el esqueleto de la arquitectura básica y el plan de respaldo y conmutación, debemos comenzar a diseñar y desarrollar cosas. Hay innumerables cosas en desarrollo y el próximo artículo hablará primero sobre algunos puntos clave.
Dirección original: http://zhiyi.us/internet/thinking-twice-before-building-your-site-one.html
Indique que la fuente de reimpresión es zhiyi.us.