Gupao Mall es un proyecto práctico en el curso de arquitectura Java de Gupao Academy para ayudar a los estudiantes a implementar mejor la tecnología. El proyecto se basa en springboot2.1.6.RELEASE+Dubbo2.7.3 para construir microservicios.
Los módulos de negocio están divididos y tratan de adaptarse al sistema arquitectónico de la empresa de Internet. Por lo tanto, excepto que la complejidad del negocio en sí no es muy alta, la arquitectura general es básicamente la misma que la arquitectura real.
Pero, de hecho, los proyectos reales a nivel de producción se volverán muy complicados debido a la cantidad de usuarios y la complejidad del negocio. Por lo tanto, involucraremos a más personas e iteraremos el proyecto desde los aspectos de requisitos, diseño, soluciones, etc., para cultivar ciertos
Experiencia y capacidad para aportar soluciones prácticas.
El proyecto adopta un desarrollo separado de front-end y front-end, y el front-end debe implementarse de forma independiente. La pila de tecnología central actual utiliza SpringBoot2.1.5.RELEASE+Dubbo2.7.2,
La arquitectura principal del backend se basa en springboot+dubbo+mybatis.
Script de base de datos db_script para este proyecto | usar mysql | La división de la tabla aún no se ha realizado, pero se ha considerado. |
---|---|---|
cajero gpmall-cashier, responsable de la lógica de interacción relacionada con el pago | proyecto web | Puerto 8083 |
componentes públicos gpmall-commons | frasco | Se hace referencia a los componentes públicos en muchos lugares, así que tenga cuidado al realizar cambios. |
gpmall-front El proyecto front-end de Gupao Mall | Proyecto inicial | Desarrollar utilizando tecnologías front-end como vue, node, es, etc. |
Archivo de control principal gpmall-parent, utilizado para administrar de manera uniforme todos los paquetes jar | Archivo de control parental | Versiones de paquetes jar utilizadas para gestionar de manera uniforme todos los proyectos |
Representación de producto/carrito de compras/página de inicio de gpmall-shopping y otras interacciones | proyecto web | Puerto 8081 |
gpmall-user proporciona interacciones relacionadas con el usuario, como inicio de sesión, registro, centro personal, etc. | proyecto web | Puerto 8082 |
servicio de mercado Servicio Dubbo para actividades promocionales [la depuración conjunta aún no se ha completado, por lo que no es necesario iniciarla] | servicio dubbo | puerto 20884 |
El servicio de pago proporciona capacidades de procesamiento de pagos. | servicio dubbo | puerto 20883 |
servicio de compras, proporciona carrito de compras, productos recomendados, productos y otros servicios | servicio dubbo | puerto 20881 |
servicio de usuario, proporciona servicios relacionados con el usuario | servicio dubbo | Puerto 20880 |
servicio de pedidos, proporcionar servicio de pedidos | servicio dubbo | puerto 20882 |
servicio de comentarios, servicio de revisión de productos | servicio dubbo | puerto 20885 |
PRD | Almacene los documentos de requisitos de prd. Los estudiantes que quieran participar en el diseño pueden proporcionar los requisitos de prd. | |
wiki | Los documentos de ayuda requieren que cada estudiante aporte sus propias fortalezas. |
Cree la base de datos gpmall e importe el script sql en db_scrpit
.
Inicie los servicios relacionados en el siguiente orden:
gpmall-parent, este es el archivo de control principal de todo el proyecto. Debe ejecutar install para instalarlo localmente. Si ha creado Nexus usted mismo, puede implementarlo en Nexus.
gpmall-commons, esta es la dependencia común de todo el proyecto. Ejecute la instalación para instalarlo localmente. Si ha creado Nexus usted mismo, puede implementarlo en Nexus.
Nota: Los siguientes microservicios usan mysql, redis, kafka, etc., y el middleware relevante debe instalarse con anticipación y todos los servicios están configurados con direcciones de host. Se recomienda utilizar la herramienta hostswitch para el mantenimiento unificado.
servicio de usuario, servicio de usuario, instale el módulo user-service-api
en el almacén local, porque otros módulos tienen dependencias. Luego inicie el servicio.
order-service, order service, instale el módulo order-service-api
localmente y haga que dependa de otros módulos
servicio de compras, servicio de productos, instale el módulo shopping-service-api
localmente y haga que dependa de otros módulos
servicio de marcado, servicio de marketing, aún no se ha desarrollado ninguna función.
servicio de pago, servicio de pago, el código se ha escrito y depurado (pero se utiliza la versión anterior de la interfaz. Si es una versión nueva, es necesario cambiar la interfaz) y se debe proporcionar el appid. El proyecto no se inicia, no afectará las funciones de la página anterior.
servicio de comentarios, servicio de comentarios, utilizado para mostrar información de reseñas de productos
Los siguientes servicios son BFF, que realizan agregación de servicios y se basan en los módulos de microservicio anteriores, respectivamente.
compras-gpmall
usuario-gpmall
cajero-gpmall
Proyecto front-end gpmall-front, este proyecto se desarrolla utilizando vue.
npm install
en gpmall-front,npm run dev
nuevamente. Si los servicios de back-end se inician normalmente, gpmall-front reenviará la solicitud al servidor para obtener datos relevantes para la renderización.¡Le invitamos a contribuir al desarrollo de Gpmall! Puede elegir las siguientes formas de contribuir a Gpmall:
<<<<<<< CABEZA
=======
88aab362053f002aeff65bb3c957591fafb1c788
blog personal del autor
https://istio.tech