oim-server é o lado do servidor do sistema de chat OIM, desenvolvido em linguagem Java e usando a arquitetura de microsserviços Spring Cloud. Contanto que a máquina seja suficiente, os usuários não são um problema.
O serviço OIM é um conjunto de servidores de mensagens instantâneas desenvolvidos na linguagem Java e baseados no sistema de microsserviços Spring Cloud. Soluções implementáveis são fornecidas de máquinas autônomas a microsserviços, e tanto máquinas autônomas quanto microsserviços podem ser alternados sem problemas, e o cliente pode não ter conhecimento das mudanças no serviço.
Características
oim-server permite que você desenvolva interfaces de mensagens instantâneas como spring mvc Para desenvolvedores que têm experiência em desenvolvimento web, mas não têm experiência em servidores de mensagens instantâneas, eles podem ser facilmente convertidos e são compatíveis com interfaces web spring. Exemplo como abaixo
Solicitar interface @RestControllerclasse pública UserController {/** * * Login
* Data 17/02/2019 12:26:38
* * @param usuário * @since 1.0.0 */@ActionMapping(value = " /user/login") // Esta rota também pode usar postagem http para solicitar login de usuário público(@Define("body.user") User user) { // "body.user" (este corpo é o campo body em json, não o corpo do protocolo http) // É o caminho do atributo json do corpo da mensagem em http ou tcp {"body":{"user":{ }}}// ...omitir conteúdo de implementação retornar usuário;}}
Descrição do catálogo
|__oim-server-run #Serviço Java|__cloud #Versão em execução de microsserviços|__common #Jar publicamente dependente |__oim-server-element-basic-* #Estas são as partes das quais tanto os microsserviços independentes quanto os microsserviços dependem, incluindo algumas definições abstratas . Serviços e máquinas autônomas têm implementações diferentes|__oim-server-element-cloud-* #Essas são as dependências exigidas por microsserviços, algumas implementações para microsserviços|__service #Cada microserviço em execução|__core. #Principalmente microsserviços do tipo gerenciamento técnico, como: centro de registro, gateway, etc. |__action #Colete os endereços de interface de todos os serviços, para que o gateway possa acessar diretamente os serviços correspondentes através do endereço da interface sem configurar o nome do serviço |__admin #Somente integrado com spring boot admin |__center #Centro de registro|__gateway #Gateway|__net #Serviços de conexão longa, como TCP e WebSocket para mensagens instantâneas|__control é usado para gerenciar (rede) serviços de conexão longa do cliente usuário|__trabalho usuário cliente conexão longa serviços|__suporte #Serviços de suporte público, como: upload de arquivo |__arquivo |__sistema #Configuração de todo o sistema, dados compartilhados, etc. |__configuração # |__trabalho #Serviços empresariais (porque o negócio é muito longo, há outros lugares onde esse nome é fácil de use) |__chat # Chat business|__contact #Contact|__core #Core: user|__group #Group|__portal #Service address input|__single # |__oim-server-single-main # Como os módulos funcionais de microsserviços e autônomos são compartilhados, aqui estão algumas implementações autônomas abstratas |__oim-server-single-running #Iniciar configuração de serviço|__oim-server-web # Interface de gerenciamento de segundo plano Vue
Instruções de desenvolvimento do OIM
1. Requisitos ambientais
JDK 1.8.0_xxx
O banco de dados suporta MySQL Oracle SQL server MySQL 8.0 é recomendado
Os microsserviços também precisam do seguinte
Redis
RaadfdsitMQ
2. Sobre a versão do microsserviço e seu uso
O código comercial e o código comercial da versão do microsserviço são compartilhados, portanto, os módulos de negócios estão todos no diretório do microsserviço. Existem apenas diferenças no processamento de conexões longas de mensagens instantâneas, portanto, máquinas autônomas e microsserviços precisam ser tratados de maneira diferente.
O local é abstraído em uma interface e implementado em diferentes serviços de inicialização.
3. Em relação a algumas dependências que não podem ser baixadas
Como algumas dependências não foram publicadas na biblioteca central do maven, mas estão em minha biblioteca privada, elas não podem ser configuradas no arquivo de configuração global do maven (geralmente no diretório do usuário.m2/setting.xml)
Serviço de espelho (comente ou exclua a parte do meio)
O projeto de configuração maven da biblioteca privada foi configurado
4. Sobre scripts de banco de dados
Basta criar o banco de dados primeiro, modificar a configuração do banco de dados e iniciar a criação automática da tabela. Atualmente há um problema com a criação de tabelas no banco de dados H2 padrão. Recomenda-se usar o MySQL 8.0.