Red de Respuestas Legales - Directorio de abogados - ¿Cuáles son los marcos generales para los sitios web de comercio electrónico?

¿Cuáles son los marcos generales para los sitios web de comercio electrónico?

Arquitectura de sitios web de comercio electrónico a gran escala, extracto 7. ¿Cómo manejar múltiples idiomas del mismo sitio web, usar archivos de configuración y luego usar cookies o URL para determinar? = = =El cliente es nuestra propia empresa, por lo que podemos utilizar métodos estándar.

8. Los métodos más comunes de los sitios web de comercio electrónico son los descuentos de productos y la concesión de puntos. ¿Cómo diseñarlos aquí (modo de fábrica)? = = =Compre un motor de reglas maduro.

9. Si se emite una gran cantidad de pedidos al mismo tiempo, ¿cómo garantizar la presentación efectiva de los pedidos?

= = MQ se usa generalmente en comercio electrónico, y se recomienda IBM MQ también puede usar MSMQ

El primer punto es diseñar bien la base de datos y en qué nivel; es posible que necesite considerar qué tablas deben dividirse y qué datos centrales deben ser redundantes. Si es mysql, hay otras cuestiones a considerar, como el motor de almacenamiento.

Noticias definitivamente genera páginas puramente estáticas, lo que ejerce mucha menos presión sobre la base de datos. Sin embargo, las páginas estáticas también son incómodas de administrar. Actualizar, eliminar y agregar requieren operaciones de archivos de disco.

Para personalizar la capa de almacenamiento en caché y controlar la lógica del almacenamiento en caché, puede utilizar módulos de almacenamiento en caché de terceros. Si usas. net, puede almacenar en caché capa por capa, caché de páginas y caché de datos (memcache, pero la eficiencia es muy baja en win).

Los sitios web de comercio electrónico se caracterizan por transacciones estrictas y requieren un alto rendimiento en el diseño de la base de datos, así como índices apropiados para soportar una alta concurrencia. A menudo verifican los índices de las tablas de productos, tablas de usuarios, etc. para ver si hay muchos escaneos de índices y escaneos de tablas (incluso locales, el menor número posible).

Las declaraciones de Mssql deben agregarse con (nolock) a las consultas que no requieren transacciones para facilitar las actualizaciones simultáneas.

Algunos módulos funcionales no se pueden desarrollar de forma natural, como por ejemplo las visitas a productos. Estos campos que se actualizan con frecuencia no se pueden colocar en la tabla principal. La forma más clara es separarlos. Los campos no deben diseñarse frecuentemente como tipos bool, lo que dejará espacio para futuras expansiones. Se recomiendan tallas corporales pequeñas incluso para hombres y mujeres.

La otra es que el diseño del producto debe considerar plenamente el SEO. La estructura de directorios del sitio web debe ser clara y fácil de leer, en lugar de contener una serie de parámetros de consulta.

Para tener una idea general de la seguridad, es mejor utilizar todos los procedimientos almacenados, exportar todos los procedimientos almacenados de la base de datos antes de que el proyecto entre en línea y luego buscar declaraciones que parezcan exec para ver si es necesario. Utilice sp_executesql para reemplazar.

Además, si usa mssql, puede usar mssql fte directamente para realizar búsquedas de texto completo, y la velocidad y precisión siguen siendo aceptables. Lo más importante es que el mantenimiento, la gestión y el desarrollo son sencillos.

Los descuentos se pueden procesar según las funciones de fijación de precios primaria y secundaria de las telecomunicaciones, si lo has hecho con sistemas de telecomunicaciones.

Por supuesto, también se puede diseñar para que sea más sencillo. Se recomienda utilizar CDN para acelerar páginas estáticas para resolver el problema de velocidad de acceso entre China Netcom y China Telecom.

Se recomienda considerar Memcache en el almacenamiento en caché de datos. net se puede utilizar para la capa de presentación y la capa de datos respectivamente.

SQL simple se puede ejecutar sin procedimientos almacenados, pero consumirá el tiempo de procesamiento del servidor de la base de datos y provocará un punto muerto.

Mvc recomienda la aplicación de algunos proyectos CMS, que son; No muy adecuado para centros comerciales electrónicos. Se pueden realizar escapes en la URL para que la URL se muestre más amigable;

Base de datos: se recomienda establecer una base de datos distribuida, que pueda transferir consultas y ejercer presión sobre la base de datos.

Se puede considerar que las imágenes se colocan en un servidor separado; 1. Arquitectura de tres niveles

2. Utilice SQL escrito a mano, entidades escritas a mano (también se pueden usar generadas) y reflexión de caché. Se debe considerar el enlace (no datos en caché, relación de mapeo de caché), el desarrollo a largo plazo del sitio web o el rendimiento flexible de la columna de escritura a mano.

3. Este problema no existe, solo está impulsado por el negocio, pura compra, sin círculos, wiki.

4.Puro. Net mvc está en desuso. Webform no participa en el estado de visualización, no participa en controles del lado del servidor (excepto el repetidor) y algunas ideas de MVC son suficientes.

5. No es necesario almacenar en caché los datos (excepto la parte del producto de búsqueda), pero es necesario considerar la implementación rápida de programas desde múltiples servidores. Habrá muchos archivos de configuración y la configuración. debe ser serializado y almacenado en caché.

6. Por supuesto, el Sr. Wang lo ha terminado.

Según jd, cada imagen corresponde a varios tamaños diferentes según el negocio.

7. Según la experiencia, no es confiable que los sitios web de comercio electrónico sean bilingües tanto en chino como en inglés (los hábitos culturales de los usuarios no son un simple cambio de idioma). Para operar verdaderamente el inglés, se debe desarrollar una nueva versión.

8. No hay patrón.

9. Equilibrio de carga (web, db) + ssb procesa datos de forma asincrónica.

10. ¿Es usted un registro de tipo empresarial o un registro de excepción? El registro de excepciones en el proceso de pedido inicial no es necesario. Simplemente busque una herramienta, grabe un script y ejecútelo todo el tiempo, asegurándose de poder enviar correos electrónicos cada vez que encuentre algún problema.

11. Encuentra un componente de búsqueda de terceros similar a endeca.

12. El equilibrio de carga es muy sencillo. Cuando comienza por primera vez, esto se puede hacer con el software. Todas las imágenes se colocan en una CDN de terceros y rara vez se utiliza ajax en el sitio web de front-end. Si se utiliza, jquery 1 descubrirá el 99,5% del comportamiento de un usuario de un sitio web de comercio electrónico.

2. Para la parte de recuperación del producto, no necesita una base de datos (existen muchas plataformas de código abierto relacionadas, como la segmentación de palabras en línea).

3. Caché distribuido (Memcached, Volecity). En pruebas personales, volecity 3 sigue siendo bueno.

4. El diseño del sistema debe considerar la operatividad. Diseñe el sistema desde esta perspectiva.

5. Dado que los sitios web de comercio electrónico cambian con frecuencia, debemos considerar cómo se adapta el diseño arquitectónico a las frecuentes actualizaciones de versiones.

6. Se debe diseñar un buen sistema de inicio de sesión único.

7. Se recomienda que no se requiera sqlserver.

8. Para los grandes sitios web de comercio electrónico, la E/S del sistema es el factor decisivo, no la CPU y la memoria. 1. ¿Habrá algún problema con la división del proyecto? En la figura, hay una capa de entidad, una capa de interfaz de acceso a datos, una capa de interfaz de acceso a datos, una capa de interfaz de lógica de negocios, una lógica de negocios y los sitios web A, B y C, respectivamente.

La división del proyecto no es importante. Lo importante es si puede dividir razonablemente el código en los proyectos correspondientes al escribir el código.

2. ¿Es una capa de acceso a datos con eficiencia de desarrollo (NBear, Linq, Nh, etc.) o eficiencia de acceso (usando SQL directamente, etc.)? ¿Y esperar a que haya un mayor número de visitas más adelante? ¿Luego reescribir y reemplazar la capa de acceso a datos?

Priorizar la eficiencia del desarrollo. Después de extensas visitas, creo que hay dinero para invertir en hardware. Si su programa no es malo, actualizar el hardware es mucho más rentable que optimizar el programa.

3. El sitio web se ha dividido en varios subsitios y algunos controles (como encabezados y pies de página) se comparten. ¿Cómo puedo compartir estos controles entre proyectos de sitios web?

Luego conviértalo en un control personalizado.

El mvc 1.0 de 4.4.ms se lanzó hace mucho tiempo. ¿Está lo suficientemente maduro para usarlo en proyectos? ¿O el sitio web debería utilizar un formulario web para el backend y mvc para el frontend?

Se recomienda utilizar webform y mvc en recepción. Para la recepción, mvc puede mejorar el rendimiento y facilitar el cambio de la presentación de la página. La interfaz en segundo plano es relativamente estable y el uso del formulario web puede mejorar la eficiencia del desarrollo.

5. ¿Deberíamos desarrollar una tabla hash o algo para mantener el caché de los datos del sitio web, o deberíamos usar Memcached?

Se recomienda utilizar hashtable al principio, porque es simple y se actualizará a Memcached en el futuro.

6. Procesamiento de miniaturas. Creo que algunos sitios web las generan directamente al cargar imágenes, y algunos implementan sus propios archivos de recursos y el idioma actual se guarda en cookies.

8. Los métodos más comunes de los sitios web de comercio electrónico son los descuentos de productos y la concesión de puntos. ¿Cómo diseñarlos aquí (modo de fábrica)?

Motor de reglas

9. Si se emite una gran cantidad de pedidos al mismo tiempo, ¿cómo garantizar el envío efectivo de los pedidos?

¿Usando la cola MQ

10.log4net?

Log4net sólo puede registrar registros de ejecución de programas y se utiliza principalmente para depurar programas. Debe crear una tabla para guardar los registros de operaciones comerciales del sistema.

11. La recuperación de texto completo del comercio electrónico también es un dolor de cabeza.

Lucene, servicio de indexación de Microsoft, búsqueda de texto completo en sqlserver, muchas soluciones.

12. ¿Existen buenos artículos que recomienden código para el equilibrio de carga?

Puedes leer el artículo 1 sobre clusters en Windows 2003. ¿Hay algún problema con la división del proyecto? Los diagramas son la capa de entidad, la capa de interfaz de acceso a datos, la capa de acceso a datos, la capa de interfaz de lógica empresarial, la lógica empresarial y los sitios web A, B y C.

En la actualidad, lo divido de esta manera, pero al modificar la estructura de la tabla de datos, se producirán modificaciones en cascada en otras capas, lo cual es muy inconveniente, por lo que es mejor diseñar la base de datos mucho antes del desarrollo. . Además, cuando el sitio web se divide en varios sitios, los archivos DLL generados por otros proyectos deben implementarse en la carpeta bin de cada sitio web y deben volver a implementarse para cada actualización. Esto también es bastante molesto. Por supuesto, puede implementar la DLL en el GAC para resolver este problema, pero es inconveniente depurar localmente porque una vez que cambia el proyecto, la DLL generada debe copiarse nuevamente en el GAC para ver el efecto.

2. ¿Es una capa de acceso a datos con eficiencia de desarrollo (NBear, Linq, Nh, etc.) o eficiencia de acceso (usando directamente sql, etc.)? ¿Y esperar a que haya un mayor número de visitas más adelante? ¿Luego reescribir y reemplazar la capa de acceso a datos?

También estoy considerando este problema. En la actualidad, no he adoptado el marco ORM y accedo directamente a la base de datos en DAL.

3. El sitio web se ha dividido en varios subsitios y algunos controles (como encabezados y pies de página) se comparten. ¿Cómo puedo compartir estos controles entre proyectos de sitios web?

Controles personalizados.

El mvc 1.0 de 4.4.ms se lanzó hace mucho tiempo. ¿Está lo suficientemente maduro para usarlo en proyectos? ¿O el sitio web debería utilizar un formulario web para el backend y mvc para el frontend?

Estoy aprendiendo esta pieza.

5. ¿Deberíamos desarrollar una tabla hash o algo para mantener el caché de los datos del sitio web, o deberíamos usar Memcached?

Ahora uso más almacenamiento en caché de datos. neto.

6. Procesamiento de miniaturas. Creo que algunos sitios web se generan directamente al cargar imágenes y otros se generan en.

Actualmente escribo el código yo mismo y lo almaceno en la biblioteca.

11. La recuperación de texto completo del comercio electrónico también es un dolor de cabeza.

Utilice la segmentación de palabras de lucene.net para crear un índice y luego busque directamente desde la base de datos del índice, que es rápido y preciso.

12. ¿Existen buenos artículos que recomienden código para el equilibrio de carga?

No lo sé. Es absolutamente imposible que un diseño así logre el efecto de New Egg. Newegg tiene al menos cientos de servidores y miles de enlaces de publicación y suscripción entre diferentes bases de datos. Existen sofisticados mecanismos de almacenamiento en caché y equilibrio de carga. Todas las comunicaciones de Newegg se basan en WCF. Además, para un sitio web tan grande, la base de datos nunca se detiene, por lo que también es importante separar la lectura y la escritura, porque no se puede detener la base de datos para realizar una copia de seguridad. Después de todo, parece lejos de ser suficiente construir un sitio web de comercio electrónico a gran escala como Newegg.

Sin embargo, con respecto al encabezado y pie de página públicos, no recomiendo convertirlo en un control personalizado. Esto es incómodo de mantener y es muy problemático liberar el dll después de pequeños cambios.

Si su encabezado y pie de página no son muy grandes, se recomienda utilizar js+css. Junto con la compresión y el almacenamiento en caché de CDN, la eficiencia debería ser aceptable.