oim-server es el lado del servidor del sistema de chat OIM, desarrollado en lenguaje Java y utilizando la arquitectura de microservicio Spring Cloud. Siempre que la máquina sea suficiente, los usuarios no son un problema.
El servicio OIM es un conjunto de servidores de mensajería instantánea desarrollados utilizando el lenguaje Java y basados en el sistema de microservicio Spring Cloud. Se proporcionan soluciones implementables desde máquinas independientes hasta microservicios, y tanto las máquinas independientes como los microservicios se pueden cambiar sin problemas y el cliente puede no estar al tanto de los cambios en el servicio.
Características
oim-server le permite desarrollar interfaces de mensajería instantánea como spring mvc. Para los desarrolladores que tienen experiencia en desarrollo web pero no tienen experiencia en servidores de mensajería instantánea, pueden convertir fácilmente y son compatibles con las interfaces web de Spring. Ejemplo como el siguiente
Solicitar interfaz @RestControllerclase pública UserController {/** * * Iniciar sesión
* Fecha 2019-02-17 12:26:38
* * @param usuario * @since 1.0.0 */@ActionMapping(value = " /user/login") // Esta ruta también puede usar la publicación http para solicitar el inicio de sesión de usuario público(@Define("body.user") Usuario usuario) { // "body.user" (este cuerpo es el campo del cuerpo en json , No el cuerpo del protocolo http) // Es la ruta del atributo json del cuerpo del mensaje en http o tcp {"body":{"user":{}}}// ...Omitir el contenido de implementación return user ;}}
Descripción del catálogo
|__oim-server-run #Servicio Java|__nube #Versión en ejecución del microservicio|__común #Jar públicamente dependiente |__oim-server-element-basic-* #Estas son las partes de las que dependen tanto los microservicios independientes como los microservicios, incluidas algunas definiciones abstractas Los servicios y las máquinas independientes tienen diferentes implementaciones |__oim-server-element-cloud-* #Estas son las dependencias requeridas por los microservicios, algunas implementaciones para microservicios|__servicio #Cada microservicio que ejecuta |__core #Principalmente microservicios de tipo de gestión técnica Servicios como. : centro de registro, puerta de enlace, etc. |__acción #Recopile las direcciones de interfaz de todos los servicios, de modo que la puerta de enlace pueda acceder directamente al servicio correspondiente a través de la dirección de la interfaz sin configurar el nombre del servicio |__admin #Solo integré el administrador de arranque de primavera |__centro #Registro centro| __gateway #Gateway|__net #TCP, WebSocket y otros servicios de conexión a largo plazo para mensajería instantánea|__el control se utiliza para administrar los servicios de conexión a largo plazo del cliente de usuario (de red)|__servicios de conexión a largo plazo del cliente de usuario de trabajo|__soporte #Servicios de soporte público como: carga de archivos |__archivo |__sistema #Configuración, datos comunes, etc. para todo el sistema |__configuración # |__trabajo #Servicio comercial (debido a que el negocio es demasiado largo, hay otros lugares donde este nombre es fácil de uso) |__chat #Chat negocio |__contacto #Persona de contacto| __core #Core: Usuario|__grupo #Grupo|__portal #Entrada de dirección de servicio|__single # |__oim-server-single-main # Porque los módulos funcionales de microservicios e independientes se comparten, aquí hay algunas implementaciones independientes abstractas |__oim- server-single-running #Iniciar configuración del servicio|__oim-server-web #Interfaz de administración en segundo plano de Vue
Instrucciones de desarrollo OIM
1. Requisitos medioambientales
JDK 1.8.0_xxx
DB soporta MySQL Oracle SQL server Se recomienda MySQL 8.0
Los microservicios también necesitan lo siguiente
Redis
RaadfdsitMQ
2. Acerca de la versión del microservicio y su uso.
El código comercial y el código comercial de la versión de microservicio se comparten, por lo que todos los módulos comerciales están en el directorio de microservicio. Solo existen diferencias en el procesamiento de conexiones largas de mensajería instantánea, por lo que las máquinas independientes y los microservicios deben manejarse de manera diferente.
El lugar se abstrae en una interfaz y se implementa en diferentes servicios de inicio.
3. Respecto a algunas dependencias que no se pueden descargar
Debido a que algunas dependencias no se han publicado en la biblioteca central de Maven, pero están en mi biblioteca privada, no se pueden configurar en el archivo de configuración global de Maven (generalmente en el directorio de usuarios.m2/setting.xml).
Servicio espejo (comenta o elimina la parte central)
El proyecto de configuración maven de la biblioteca privada ha sido configurado
4. Acerca de los scripts de bases de datos
Primero cree la base de datos, modifique la configuración de la base de datos e inicie la creación automática de tablas. Actualmente existe un problema con la creación de tablas en la base de datos H2 predeterminada. Se recomienda utilizar MySQL 8.0.