oim-server est le côté serveur du système de discussion OIM, développé en langage Java et utilisant l'architecture de microservice Spring Cloud. Tant que la machine est suffisante, les utilisateurs ne posent pas de problème.
Le service OIM est un ensemble de serveurs de messagerie instantanée développés à l'aide du langage Java et basés sur le système de microservices Spring Cloud. Des solutions déployables sont fournies depuis les machines autonomes vers les micro-services, et les machines autonomes et les micro-services peuvent être commutés en douceur, et le client peut ignorer les changements de service.
Caractéristiques
oim-server vous permet de développer des interfaces de messagerie instantanée comme Spring MVC. Pour les développeurs qui ont une expérience en développement Web mais aucune expérience en matière de serveur de messagerie instantanée, ils peuvent facilement être convertis et sont compatibles avec les interfaces Web Spring. Exemple comme ci-dessous
Interface de requête @RestControllerpublic class UserController {/** * * Connexion
* Date 2019-02-17 12:26:38
* * @param user * @since 1.0.0 */@ActionMapping(value = " /user/login") // Cette route peut également utiliser la publication http pour demander la connexion publique de l'utilisateur (@Define("body.user") User user) { // "body.user" (ce corps est le champ du corps dans json , Pas le corps du protocole http) // Il s'agit du chemin d'attribut json du corps du message dans http ou tcp {"body":{"user":{}}}// ...Omettre le contenu de l'implémentation return user ;}}
Descriptif du catalogue
|__oim-server-run #Java service|__cloud #Version en cours d'exécution du microservice|__common #Jar public dépendant |__oim-server-element-basic-* #Ce sont les parties dont dépendent à la fois les microservices autonomes et les microservices, y compris certaines définitions abstraites .Les services et les machines autonomes ont des implémentations différentes |__oim-server-element-cloud-* #Ce sont les dépendances requises par les microservices, certaines implémentations pour les microservices|__service #Chaque microservice exécutant |__core #Principalement des microservices de type gestion technique Des services tels que. : centre d'enregistrement, passerelle, etc. |__action #Collecter les adresses d'interface de tous les services, afin que la passerelle puisse accéder directement au service correspondant via l'adresse d'interface sans configurer le nom du service |__admin #Juste l'administrateur Spring Boot intégré |__center #Inscription centre| __gateway #Gateway|__net #TCP, WebSocket et autres services de connexion à long terme pour la messagerie instantanée|__control est utilisé pour gérer les services de connexion à long terme du client utilisateur (réseau)|__work services de connexion à long terme du client utilisateur|__support #Services d'assistance publics tels que : téléchargement de fichiers |__fichier |__système #Configuration, données communes, etc. pour l'ensemble du système |__réglage # |__travail #Service commercial (car les affaires sont trop longues, il existe d'autres endroits où ce nom est facile à utilisation) |__chat #Chat business |__contact #Personne de contact| __core #Core: Utilisateur|__group #Group|__portal #Entrée d'adresse de service|__single # |__oim-server-single-main # Parce que les modules fonctionnels des microservices autonomes sont partagés, voici quelques implémentations autonomes abstraites |__oim-server-single-running #Démarrer la configuration du service|__oim-server-web #Interface de gestion en arrière-plan Vue
Instructions de développement OIM
1. Exigences environnementales
JDK 1.8.0_xxx
DB prend en charge MySQL Oracle SQL Server MySQL 8.0 est recommandé
Les microservices ont également besoin des éléments suivants
Rédis
RaadfdsitMQ
2. À propos de la version du microservice et de son utilisation
Le code métier et le code métier de la version du microservice sont partagés, les modules métier se trouvent donc tous dans le répertoire du microservice. Il n'y a de différences que dans le traitement des connexions longues de messagerie instantanée, les machines autonomes et les microservices doivent donc être gérés différemment.
Le lieu est résumé dans une interface et implémenté dans différents services de startup.
3. Concernant certaines dépendances non téléchargeables
Étant donné que certaines dépendances n'ont pas été publiées dans la bibliothèque centrale Maven, mais se trouvent dans ma bibliothèque privée, elles ne peuvent pas être configurées dans le fichier de configuration globale Maven (généralement dans le répertoire utilisateur.m2/setting.xml)
Service miroir (commentez ou supprimez la partie médiane)
Le projet de configuration maven de la bibliothèque privée a été configuré
4. À propos des scripts de base de données
Créez d'abord la base de données, modifiez la configuration de la base de données et lancez la création automatique de tables. Il existe actuellement un problème lors de la création de tables dans la base de données H2 par défaut. Il est recommandé d'utiliser MySQL 8.0.