Gupao Mall ist ein praktisches Projekt im Java-Architekturkurs der Gupao Academy, das Studenten dabei helfen soll, Technologie besser zu implementieren. Das Projekt basiert auf springboot2.1.6.RELEASE+Dubbo2.7.3, um Microservices zu erstellen.
Die Geschäftsmodule sind unterteilt und versuchen, sich an das Architektursystem des Internetunternehmens anzupassen. Abgesehen davon, dass die Komplexität des Geschäfts selbst nicht sehr hoch ist, entspricht die Gesamtarchitektur daher im Wesentlichen der tatsächlichen Architektur.
Tatsächlich werden jedoch echte Projekte auf Produktionsebene aufgrund der Anzahl der Benutzer und der Komplexität des Geschäfts sehr kompliziert. Daher werden wir mehr Personen einbeziehen und das Projekt unter den Aspekten Anforderungen, Design, Lösungen usw. iterieren, um bestimmte Aspekte zu kultivieren
Erfahrung und Fähigkeit, praktische Lösungen anzubieten.
Das Projekt übernimmt die separate Entwicklung von Front-End und Front-End, und das Front-End muss unabhängig bereitgestellt werden. Der aktuelle Kerntechnologie-Stack verwendet SpringBoot2.1.5.RELEASE+Dubbo2.7.2,
Die Hauptarchitektur des Backends basiert auf Springboot+Dubbo+Mybatis.
db_script-Datenbankskript für dieses Projekt | Benutze MySQL | Die Tabellenaufteilung wurde noch nicht durchgeführt, eine Tabellenaufteilung wurde jedoch in Betracht gezogen. |
---|---|---|
gpmall-cashier Kassierer, verantwortlich für die zahlungsbezogene Interaktionslogik | Webprojekt | Port 8083 |
Öffentliche Komponenten von gpmall-commons | Krug | An vielen Stellen wird auf öffentliche Komponenten verwiesen. Seien Sie daher vorsichtig, wenn Sie Änderungen vornehmen. |
gpmall-front Das Front-End-Projekt der Gupao Mall | Frontend-Projekt | Entwickeln Sie mit Front-End-Technologien wie Vue, Node, Es usw. |
gpmall-parent übergeordnete Steuerdatei, die zur einheitlichen Verwaltung aller JAR-Pakete verwendet wird | Übergeordnete Kontrolldatei | Versionen von JAR-Paketen, die zur einheitlichen Verwaltung aller Projekte verwendet werden |
gpmall-shopping Produkt-/Warenkorb-/Homepage-Rendering und andere Interaktionen | Webprojekt | Port 8081 |
gpmall-user bietet benutzerbezogene Interaktionen wie Anmeldung, Registrierung, persönliches Center usw. | Webprojekt | Port 8082 |
Market-Service-Dubbo-Service für Werbeaktivitäten [das gemeinsame Debuggen ist noch nicht abgeschlossen und muss daher nicht gestartet werden] | Dubbo-Service | 20884-Port |
Pay-Service bietet Möglichkeiten zur Zahlungsabwicklung | Dubbo-Service | 20883-Port |
Einkaufsservice, stellt Einkaufswagen, empfohlene Produkte, Produkte und andere Dienstleistungen bereit | Dubbo-Service | 20881-Port |
user-service stellt benutzerbezogene Dienste bereit | Dubbo-Service | Port 20880 |
Bestellservice, Bestellservice bereitstellen | Dubbo-Service | 20882-Port |
Kommentarservice, Produktbewertungsservice | Dubbo-Service | 20885-Port |
PRD | Hinterlegen Sie PRD-Anforderungsdokumente. Studierende, die an der Gestaltung mitwirken möchten, können PRD-Anforderungen bereitstellen. | |
Wiki | Hilfedokumente erfordern, dass jeder Schüler seine eigene Stärke einbringt |
Erstellen Sie die gpmall-Datenbank und importieren Sie das SQL-Skript in db_scrpit
.
Starten Sie zugehörige Dienste in der folgenden Reihenfolge:
gpmall-parent, dies ist die übergeordnete Steuerdatei des gesamten Projekts. Sie müssen install ausführen, um es lokal zu installieren. Wenn Sie Nexus selbst erstellt haben, können Sie es in Nexus bereitstellen.
gpmall-commons, dies ist die gemeinsame Abhängigkeit des gesamten Projekts, um es lokal zu installieren. Wenn Sie Nexus selbst erstellt haben, können Sie es in Nexus bereitstellen.
Hinweis: Die folgenden Microservices verwenden MySQL, Redis, Kafka usw. Die entsprechende Middleware muss im Voraus installiert werden und alle Dienste werden mit Hostadressen konfiguriert. Für eine einheitliche Wartung wird die Verwendung des Hostswitch-Tools empfohlen.
user-service, user service, installieren Sie das user-service-api
Modul im lokalen Warehouse, da andere Module Abhängigkeiten haben. Starten Sie dann den Dienst.
order-service, order service, installieren Sie das order-service-api
Modul lokal und machen Sie es von anderen Modulen abhängig
Shopping-Service, Produktservice, installieren Sie das shopping-service-api
Modul lokal und machen Sie es von anderen Modulen abhängig
Markierungsdienst, Marketingdienst, es wurde noch keine Funktion entwickelt.
Bezahldienst, Zahlungsdienst, der Code wurde geschrieben und debuggt (es wird jedoch die alte Schnittstellenversion verwendet. Wenn es sich um eine neue Version handelt, muss die Schnittstelle geändert werden), und die App-ID muss jedoch bereitgestellt werden Wenn das Projekt nicht gestartet wird, hat es keinen Einfluss auf die Funktionen der vorherigen Seite
Kommentardienst, Kommentardienst, der zur Anzeige von Produktbewertungsinformationen verwendet wird
Bei den folgenden Diensten handelt es sich um BFF, das die Dienstaggregation durchführt und jeweils auf den oben genannten Microservice-Modulen basiert.
gpmall-shopping
gpmall-Benutzer
gpmall-Kassierer
Front-End-Projekt gpmall-front, dieses Projekt wird mit Vue entwickelt.
npm install
in gpmall-front aus.npm run dev
erneut aus. Wenn die Back-End-Dienste normal starten, leitet gpmall-front die Anfrage an den Server weiter, um relevante Daten zum Rendern abzurufen.Sie sind herzlich willkommen, zur Entwicklung von Gpmall beizutragen! Sie können die folgenden Möglichkeiten wählen, um zu Gpmall beizutragen:
<<<<<<< KOPF
=======
88aab362053f002aeff65bb3c957591fafb1c788
Persönlicher Blog des Autors
https://istio.tech