Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Relatorio RABBITMQ

Por:   •  21/3/2018  •  4.356 Palavras (18 Páginas)  •  313 Visualizações

Página 1 de 18

...

Neste contexto surgiu-se o que é denominado mensageria. Que é uma proposta para a solução e evolução dos problemas e dilemas já mencionados e que será melhor detalhado na seção seguinte.

-

MENSAGERIA

Mensageria surge como solução dos problemas abordados anteriormente. Trata-se de uma tecnologia que permite comunicação de alta velocidade e de forma assíncrona entre sistemas diferentes com garantia de entrega das mensagens. É uma arquitetura flexível, fracamente acoplada onde as mensagens não são trocadas diretamente e cada componente do sistema pode ser desenvolvido de uma maneira independente, pois o envio e recebimento da mensagem é feito por um message broker, que é um gerenciador de mensagens.

Nessa arquitetura a mensagem é a unidade central da comunicação entre os sistemas, ela é composta por um cabeçalho, onde são registradas informações como codificação, roteamento e segurança. E um corpo, onde está registrada sua informação. Cada sistema elabora sua mensagem num formato adequado que é especificado pelo message broker, que é responsável por receber as diversas mensagens, codificar, validar e definir a rota de cada mensagem de acordo com que é especificado no cabeçalho da mensagem.

A arquitetura apresenta diversas vantagens, como a caso ocorra falha em alguns emissores esses serão sempre independentes e não afetarão outras partes, assim como o desempenho de uma parte não afetará a outra. Dessa maneira é possível inserir ou excluir novas partes componentes.

Logo, definimos mensageria como sistemas conectados que trocam mensagens roteadas por um servidor intermediário que é chamado de message broker. Os canais, também conhecidos como filas de mensagens (MQ = message queuing), são caminhos lógicos que conectam os sistemas. Eles se comportam como se fossem uma coleção de mensagens compartilhadas entre múltiplos computadores que podem ser acessados concorrentemente por múltiplas aplicações. O sistema que envia a mensagem escrevendo no canal é o sender (despachante) ou o producer (produtor) e o que recebe, lendo o canal do sistema é chamado receiver (receptor) ou consumer (consumidor).

Por tanto é natural que esta forma de comunicação seja já bem definida e pode ser representada por alguns passos que são:

- Criação - o sender cria a mensagem e a preenche com dados

- Envio - o sender adiciona a mensagem ao canal

- Entrega - o sistema de mensageria move a mensagem do computador do

sender deixando disponível ao computador do receiver

- Recebe - o receiver lê a mensagem do canal

- Processamento - o receiver extrai os dados da mensagem

Há diversas formas de envio de mensagens, no entanto dois tipos de envio de mensagens são mais utilizados e são:

- Send and forget (ou fire and forget) - o sender cria e envia a mensagem. Completado o envio, o sender assume outras tarefas confiando que o sistema de mensageria em algum momento entregará a mensagem ao receiver.

- Store and forward - ao enviar, o sender armazena em seu computador a mensagem (na memória ou no disco). O sistema de mensageria igualmente grava a mensagem no computador do receiver. Trocas de mensagens usando o processo Store-and-forward podem ser repetidas quantas vezes forem necessárias sem risco de existir em duplicata no receiver.

O uso de mensageria faz com que seja possível entregar sistemas com o mínimo de acoplamento e propicia um mecanismo seguro de envio e recepção de mensagens, solucionando a comunicação entre sistemas completamente diferentes de uma maneira confiável.

Um dos componentes mais importantes na mensageria é o Barramento de Mensagens, pois é ele que coordena o envio e a recepção de mensagens em uma fila. As principais vantagens do uso desse modelo é que além do desacoplamento de plataforma, o desacoplamento de tempo. Isto porque a troca de mensagens é assíncrona, ou seja, as aplicações não precisam estar conectadas ao mesmo tempo. A utilização de filas em um sistema de troca de mensagens entre aplicações minimiza o acoplamento entre elas, pois assim as aplicações envolvidas passam a ter

os parâmetros de configuração do message broker.

Os message brokers são descritos como um tipo de software que tem como objetivo permitir a troca de mensagens entre aplicações de maneira assíncrona, escalável, segura e confiável. Eles são os mediadores entre as aplicações. Dentro de um broker existe um local chamado destino que é onde ficam armazenadas as mensagens recebidas pelas aplicações antes de serem encaminhadas às aplicações de destino (receivers).

Basicamente, um broker recebe mensagens de seus criadores (aplicações que publicam mensagens) e as roteiam até seus consumidores (aplicações que processam mensagens). Na mensageria, as mensagens trocadas através dos brokers tem destinos específicos que são conhecidos tanto pelo sender e pelo receiver.

-

JMS

A Java Message Service foi a especificação proposta para definir um conjunto de funcionalidades comuns à maioria dos produtos de mensageria; uma API padronizada que permite que aplicações Java utilizem os serviços de message brokers, compatíveis com a especificação, de uma maneira uniforme para a criação, envio e recebimento de mensagens e de forma assíncrona.

Foi desenvolvido com a intenção de resolver os problemas de interoperabilidade e de

vendor lock-in, que eram muito comuns nos servidores de MQs.

O JMS trabalha com o modelo PubSub (Topic) e com o conceito de filas (Queue). Revelou-se ser uma solução muito boa, porém falha.

É falha pelo motivo de existirem, na mensageria, diferentes protocolos wire-level. Cada plataforma tem seu formato favorito. O JMS usa o protocolo wire-level OpenWire, as plataformas Ruby, Pynthon, Perl e PHP costumam usar o STOMP, por exemplo.

Com algumas soluções proprietárias ou particulares de cada message broker, é possível trocar mensagens entre plataformas diferentes através de pontes entre diferentes protocolos wire-level.

Porém, essa é uma solução

...

Baixar como  txt (31 Kb)   pdf (87.9 Kb)   docx (30.8 Kb)  
Continuar por mais 17 páginas »
Disponível apenas no Essays.club