oim-server ist die Serverseite des OIM-Chat-Systems, das in Java-Sprache entwickelt wurde und die Spring Cloud-Microservice-Architektur verwendet. Solange die Maschine ausreicht, stellen Benutzer kein Problem dar.
Der OIM-Dienst ist eine Reihe von Instant-Messaging-Servern, die in der Java-Sprache entwickelt wurden und auf dem Spring-Cloud-Microservice-System basieren. Es werden einsetzbare Lösungen von Einzelmaschinen bis hin zu Mikrodiensten bereitgestellt, und sowohl Einzelmaschinen als auch Mikrodienste können reibungslos umgestellt werden, und der Kunde kann von Dienständerungen nichts wissen.
Merkmale
Mit oim-server können Sie Instant-Messaging-Schnittstellen wie Spring MVC entwickeln. Für Entwickler, die Erfahrung in der Web-Hintergrundentwicklung, aber keine Erfahrung mit Instant-Messaging-Servern haben, können sie leicht konvertiert werden und sind mit Spring-Webschnittstellen kompatibel. Beispiel wie unten
Anforderungsschnittstelle @RestControllerpublic class UserController {/** * * Login
* Datum 2019-02-17 12:26:38
* * @param user * @since 1.0.0 */@ActionMapping(value = " /user/login") // Diese Route kann auch HTTP-Post verwenden, um eine öffentliche Benutzeranmeldung anzufordern(@Define("body.user") User user) { // "body.user" (dieser Body ist das Body-Feld in JSON , Nicht der Hauptteil des http-Protokolls) // Es ist der JSON-Attributpfad des Nachrichtenhauptteils in http oder tcp {"body":{"user":{}}}// ... Den Implementierungsinhalt weglassen und den Benutzer zurückgeben ;}}
Katalogbeschreibung
|__oim-server-run #Java-Dienst|__cloud #Microservice-Ausführungsversion|__common #Öffentlich abhängiges JAR |__oim-server-element-basic-* #Dies sind die Teile, von denen sowohl eigenständige als auch Microservices abhängen, einschließlich einiger abstrakter Definitionen . Dienste und eigenständige Maschinen haben unterschiedliche Implementierungen |__oim-server-element-cloud-* #Dies sind die Abhängigkeiten, die für Microservices erforderlich sind, einige Implementierungen für Microservices|__service #Jeder ausgeführte Microservice |__core #Hauptsächlich technische Management-Microservices Dienste wie : Registrierungscenter, Gateway usw. |__action #Sammeln Sie die Schnittstellenadressen aller Dienste, damit das Gateway über die Schnittstellenadresse direkt auf den entsprechenden Dienst zugreifen kann, ohne den Dienstnamen zu konfigurieren. |__admin #Nur Spring Boot Admin integriert |__center #Registrierung center|. __gateway #Gateway|__net #TCP, WebSocket und andere Langzeitverbindungsdienste für Instant Messaging|__control wird verwendet, um (Netzwerk-)Benutzer-Client-Langzeitverbindungsdienste zu verwalten|__work Benutzer-Client-Langzeitverbindungsdienste|__support #Öffentliche Supportdienste wie: Datei-Upload |__Datei |__System #Konfiguration, gemeinsame Daten usw. für das gesamte System |__Einstellung # |__Arbeit #Business-Service (da das Geschäft zu lang ist, gibt es andere Orte, an denen dieser Name leicht zu finden ist verwenden) |__chat #Chat-Geschäft |__Kontakt #Kontaktperson|. __core #Kern: Benutzer|__Gruppe #Gruppe|__portal #Eintrag der Serviceadresse|__single # |__oim-server-single-main # Weil die Funktionsmodule Standalone und Microservices sind werden gemeinsam genutzt, hier sind einige abstrakte eigenständige Implementierungen |__oim-server-single-running #Dienstkonfiguration starten|__oim-server-web #Vue-Hintergrundverwaltungsschnittstelle
OIM-Entwicklungsanweisungen
1. Umweltanforderungen
JDK 1.8.0_xxx
DB unterstützt MySQL Oracle SQL Server MySQL 8.0 wird empfohlen
Microservices benötigen außerdem Folgendes
Redis
RaadfdsitMQ
2. Über die Microservice-Version und ihre Verwendung
Der Geschäftscode und der Geschäftscode der Microservice-Version werden gemeinsam genutzt, sodass sich alle Geschäftsmodule im Microservice-Verzeichnis befinden. Lediglich bei der Verarbeitung langer IM-Verbindungen gibt es Unterschiede, sodass eigenständige Maschinen und Microservices unterschiedlich gehandhabt werden müssen.
Der Ort wird in eine Schnittstelle abstrahiert und in verschiedenen Startup-Diensten implementiert.
3. Bezüglich einiger Abhängigkeiten, die nicht heruntergeladen werden können
Da einige Abhängigkeiten nicht in der Maven-Zentralbibliothek veröffentlicht wurden, sondern sich in meiner privaten Bibliothek befinden, können sie nicht in der globalen Maven-Konfigurationsdatei (normalerweise im Benutzerverzeichnis.m2/setting.xml) konfiguriert werden.
Spiegeldienst (kommentieren oder den mittleren Teil löschen)
Das Maven-Konfigurationsprojekt der privaten Bibliothek wurde konfiguriert
4. Über Datenbankskripte
Erstellen Sie einfach zuerst die Datenbank, ändern Sie die Datenbankkonfiguration und starten Sie die automatische Tabellenerstellung. Derzeit gibt es ein Problem beim Erstellen von Tabellen in der Standard-H2-Datenbank. Es wird empfohlen, MySQL 8.0 zu verwenden.