springboot-plus ist ein auf SpringBoot 2 basierendes Management-Backend-System, das Benutzerverwaltung, Organisationsverwaltung, Rollenverwaltung, Funktionspunktverwaltung, Menüverwaltung, Berechtigungszuweisung, Datenberechtigungszuweisung, Codegenerierung und andere Funktionen umfasst.
Das System basiert auf der Spring Boot2-Technologie und das Frontend verwendet Layui2. Die Datenbank verwendet MySQL als Beispiel und ist theoretisch eine datenbankübergreifende Plattform.
Plus ist eine Java-Schnellentwicklungsplattform, die für monolithische Systeme und Systemaufteilung geeignet ist. Sie kann auch in eine Microservice-Plattform umgewandelt werden (ich habe früher eine entwickelt, aber ich war der Meinung, dass Plus sich auf den Kern des Systems konzentrieren sollte, anstatt nur Funktionen zu stapeln). also habe ich aufgegeben)
Im Folgenden sind die Unterschiede zwischen monolithischen Systemen, kleinen Systemen und Microservices aufgeführt
Das monolithische System ist eine gängige Systementwurfsmethode und auch die wichtigste Entwurfsmethode der letzten zehn Jahre. Alle Funktionen eines einzelnen Systems werden in einem Projekt zusammengefasst, in ein Kriegspaket gepackt und bereitgestellt. Dies hat die folgenden offensichtlichen Vorteile:
1. Die Entwicklungsmethode eines einzelnen Systems ist einfach. Wenn wir das Programmieren von Anfang an lernen, müssen sich die Entwickler nur auf die Entwicklung des aktuellen Projekts konzentrieren.
2. Einfache Änderung: Wenn Sie eine Funktion ändern müssen, ist dies sehr praktisch. Sie müssen nur den Code innerhalb eines Projektumfangs ändern.
3. Der Test ist einfach. Es besteht keine Notwendigkeit, beim Testen eines einzelnen Systems andere Systeme zu berücksichtigen und die verschiedenen REST- und MQ-Aufrufe zu vermeiden, die im zweiten Band dieses Buches erwähnt werden.
4. Die Bereitstellung ist ebenfalls sehr einfach: Es ist nicht erforderlich, die Beziehung zu anderen Systemen zu berücksichtigen. Packen Sie einfach das Kriegspaket und stellen Sie es auf dem Webserver bereit
5. Die Leistung lässt sich leicht erweitern und eine Anwendung kann über Nginx auf mehreren Servern bereitgestellt werden.
Mit der Geschäftsentwicklung und dem Wiederaufbau gibt es immer mehr monolithische Systeme. Bei der Entwicklung eines riesigen monolithischen Systems treten folgende Nachteile auf:
1. Das einzelne System ist riesig und es wird immer schwieriger, das einzelne System zu verstehen. Kleine Änderungen umfassen eine Vielzahl von Aspekten, was dazu führt, dass das Entwicklungsteam vorsichtig ist und die Entwicklungsgeschwindigkeit immer langsamer wird. Darüber hinaus kann das Starten eines großen Einzelsystems 3 Minuten oder länger dauern.
2. Mehrere Funktionen werden auf demselben einzigen System entwickelt, was zu immer langsameren Tests führt. Beispielsweise müssen Tests geplant und seriell durchgeführt werden
3. Wenn Sie die Technologie eines einzelnen Systems aktualisieren möchten, sind die Kosten sehr hoch. Wenn es sich um ein kleines System handelt, können Sie zuerst ein kleines System auswählen. Es ist nahezu unmöglich, ein einzelnes großes System technisch aufzurüsten.
4. Alle Funktionen eines einzelnen Systems werden in derselben JVM ausgeführt und die Funktionen beeinflussen sich gegenseitig. Beispielsweise verbraucht eine Funktion, die die Seitenzahlen hochgeladener Word-Dokumente zählt, viel CPU Aufgrund des Aufrufs der Statistikfunktion nicht verfügbar, tritt das Phänomen der angehaltenen Animation auf
Daher denken immer mehr Architekten beim Entwurf eines Systems darüber nach, das System in mehrere einzelne kleine Systeme oder sogar Microservices aufzuteilen. Für herkömmliche Unternehmensanwendungen ist es sinnvoller, sie in kleine Systeme aufzuteilen. Für Internetsysteme ist es angemessener, Mikrodienste zu verwenden
1. Traditionelle IT-Systeme verwenden im Wesentlichen noch eine Datenbank, während Microservices einen Dienst und eine Datenbank befürworten.
2. Herkömmliche IT-Systeme müssen selten andere Moduldienste aufrufen. Herkömmliche IT-Systeme verbinden andere Subsysteme über Workflows. E-Commerce-Microservices interagieren über RPC und andere Methoden, ein leichtgewichtiges Protokoll. Herkömmliche IT-Systeme können auch über SOA und JMS unter Verwendung umfangreicher Protokolle mit anderen Systemen (Nicht-Subsystemen) interagieren.
3. Microservices stellen sehr hohe Anforderungen an die Systeminfrastruktur, wie z. B. Microservice-Governance, elastische Bibliotheken usw. Nur E-Commerce-Systeme verfügen über die Arbeitskräfte und materiellen Ressourcen, um so etwas zu tun, während traditionelle IT-Systeme, auch wenn sie über tiefe Taschen verfügen , verfügen derzeit nicht über die Fähigkeiten von Microservices wie IT-Infrastrukturen
Daher besteht für die meisten herkömmlichen IT-Anwendungen kein technisches Risiko bei der Aufteilung eines einzelnen kleinen Systems und es handelt sich um eine Architektur, die sofort implementiert werden kann. Das Folgende ist die physische Architektur eines einzelnen Systems nach der Aufteilung
Durch den Zugriff auf verschiedene Menüfunktionen können Benutzer verschiedene Subsysteme finden und Dienste bereitstellen.