Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
| pres:gerti:arquitetura:rabbitmq [27/12/2017 15:51] – [Inicializando o serviço RabbitMQ] maugusto | pres:gerti:arquitetura:rabbitmq [27/12/2017 16:04] (atual) – [Implementação] maugusto | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| - | ====== RabbitMQ ====== | + | ======= RabbitMQ |
| + | RabbitMQ é um software de código aberto (open source) que foi implementado para suportar um protocolo de mensagens denominado Advanced Message Queuing Protocol (AMQP). Através da solução, é possível criar uma aplicação para lidar com o tráfego de mensagens que estão no cerne de sistemas de informação. A ideia do RabbitMQ é disponibilizar uma estrutura que facilite fluxos de mensagens, sobretudo em grandes aplicações, | ||
| - | ===== Configuração de Microservices ===== | ||
| - | Este tópico visa demonstrar a implementação do RabbitMQ para processamento de dados em uma arquitetura em Microservices. | ||
| - | O documento de Arquitetura de Microservices do TCE-GO, apresenta a proposta de solução para a infraestrutura de processamento distribuído, | + | ====== Configuração de Microservices ====== |
| + | Este tópico visa demonstrar a implementação do RabbitMQ para processamento de dados em uma arquitetura em Microservices. | ||
| ===== Configuração do Serviço de Mensagem RabbitMQ ===== | ===== Configuração do Serviço de Mensagem RabbitMQ ===== | ||
| Linha 37: | Linha 37: | ||
| Conforme descrito acima, o percentual de memória utilizado por padrão é de 0.4, correspondente a 40%. Para aumentar ou diminuir esse valor deve ser alterado em valor decimal, o percentual de limite de memoria deseja que o servidor RabbitMQ poderá utilizar. Outras formas de configurações do uso da memória RAM, estão disponíveis no site do fornecedor da solução RabbitMQ, através do seguinte endereço https:// | Conforme descrito acima, o percentual de memória utilizado por padrão é de 0.4, correspondente a 40%. Para aumentar ou diminuir esse valor deve ser alterado em valor decimal, o percentual de limite de memoria deseja que o servidor RabbitMQ poderá utilizar. Outras formas de configurações do uso da memória RAM, estão disponíveis no site do fornecedor da solução RabbitMQ, através do seguinte endereço https:// | ||
| - | ==== Instrução de instalação do servidor RabbitMQ ==== | + | ===== Instrução de instalação do servidor RabbitMQ |
| O fornecedor da solução RabbitMQ, em seu web site, disponibiliza as instruções para instalação em diversos sistemas operacionais (https:// | O fornecedor da solução RabbitMQ, em seu web site, disponibiliza as instruções para instalação em diversos sistemas operacionais (https:// | ||
| * Instalação da biblioteca Erlang: | * Instalação da biblioteca Erlang: | ||
| Linha 75: | Linha 75: | ||
| </ | </ | ||
| - | === Inicializando o serviço RabbitMQ === | + | ==== Inicializando o serviço RabbitMQ |
| Para inicializar (start) no servidor RabbirMQ, ou parar (stop), ou reiniciar (restart) ou outros, é possível realizar com a execução do comando: | Para inicializar (start) no servidor RabbirMQ, ou parar (stop), ou reiniciar (restart) ou outros, é possível realizar com a execução do comando: | ||
| Linha 83: | Linha 83: | ||
| </ | </ | ||
| - | === Habilitando as portas de comunicação dos serviços de mensagens do RabbitMQ === | + | ==== Habilitando as portas de comunicação dos serviços de mensagens do RabbitMQ |
| Para habilitar as portas de comunicação TCP dos serviços de mensagens do servidor RabbitMQ, deverão ser executados os seguintes comandos: | Para habilitar as portas de comunicação TCP dos serviços de mensagens do servidor RabbitMQ, deverão ser executados os seguintes comandos: | ||
| Linha 92: | Linha 92: | ||
| </ | </ | ||
| - | === Habilitado os plug-ins de gerenciamento dos serviços RabbitMQ === | + | ==== Habilitado os plug-ins de gerenciamento dos serviços RabbitMQ |
| O servidor RabbitMQ por padrão instala alguns plug-ins de gerenciamento e controle dos serviços de mensagens, como por exemplo o plug-in web site RabbitMq-Managment, | O servidor RabbitMQ por padrão instala alguns plug-ins de gerenciamento e controle dos serviços de mensagens, como por exemplo o plug-in web site RabbitMq-Managment, | ||
| Linha 109: | Linha 109: | ||
| </ | </ | ||
| - | === Criando um usuário no RabbitMQ-Managment === | + | ==== Criando um usuário no RabbitMQ-Managment |
| O servidor RabbitMQ por padrão vem configurado com um usuário cujo nome do usuário é guest e senha guest também. Caso não consiga acessar o ambiente web do plug-in RabbitMQ-Management, | O servidor RabbitMQ por padrão vem configurado com um usuário cujo nome do usuário é guest e senha guest também. Caso não consiga acessar o ambiente web do plug-in RabbitMQ-Management, | ||
| Linha 130: | Linha 130: | ||
| Para testes e homologação das soluções que utilizaram essa infraestrutura de serviço de mensagens, foi configurado e disponibilizado um ambiente de homologação, | Para testes e homologação das soluções que utilizaram essa infraestrutura de serviço de mensagens, foi configurado e disponibilizado um ambiente de homologação, | ||
| - | ==== 7.9. Arquitetura de Implementação de Microservices ==== | + | ===== Arquitetura de Implementação de Microservices |
| - | === 7.9.1. | + | ==== Publicadores de Tarefas (Producers) |
| A solução Web e a solução Web Services terão o arquivo XML de configuração dos canais de comunicação, | A solução Web e a solução Web Services terão o arquivo XML de configuração dos canais de comunicação, | ||
| Linha 174: | Linha 174: | ||
| O padrão de comunicação com o serviço AMQP do TCE-GO, está especificado no documento Arquitetura de Microservices do TCE-GO, versionada pelo projeto TCE.Microservice. | O padrão de comunicação com o serviço AMQP do TCE-GO, está especificado no documento Arquitetura de Microservices do TCE-GO, versionada pelo projeto TCE.Microservice. | ||
| - | ===== Consumidores de Tarefas (Workers) | + | ==== Consumidores de Tarefas (Workers) ==== |
| Os consumidores de tarefas publicadas pelo Producer, chamados Workers, são classes implementadas em cada projeto que deseja escalar algum processo de sua solução, para serem executadas pela solução Cloud Computing do TCE-GO. A implementação dos workers devem implementar uma interface específica que herda da interface padrão IWorker, e a classe de execução da tarefa que irá implementar a interface específica, | Os consumidores de tarefas publicadas pelo Producer, chamados Workers, são classes implementadas em cada projeto que deseja escalar algum processo de sua solução, para serem executadas pela solução Cloud Computing do TCE-GO. A implementação dos workers devem implementar uma interface específica que herda da interface padrão IWorker, e a classe de execução da tarefa que irá implementar a interface específica, | ||
| Linha 216: | Linha 216: | ||
| As máquinas físicas ou virtuais agente de Microservices, | As máquinas físicas ou virtuais agente de Microservices, | ||
| + | ===== Implementação ===== | ||
| + | |||
| + | Ajude a descrever: [[.rabbitmq: | ||