Filtrar


Questões por página:
mostrar texto associado
RabbitMQ tem um modelo baseado em filas, tal que os produtores podem enviar mensagens para exchanges, que as roteiam para filas apropriadas, onde são processadas pelos consumidores, reduzindo o acoplamento entre os componentes da arquitetura e promovendo maior tolerância a falhas e escalabilidade. 
Apache Kafka é uma plataforma open-sourc e para streaming de dados, mensagens e eventos, possuindo alta performance, escalabilidade e disponibilidade. Nesse contexto, observe a figura abaixo: 
                                                                 Imagem associada para resolução da questão
Por uma visão mais simplificada, o Kafka parte de uma estrutura de Tópico, com produtores e consumidores, que internamente pode ter uma ou muitas partições . Outra divisão do Kafka são miniclusters/servidores de armazenamento internos de um Servidor/cluster Kafka, que constituem cópias uns dos outros para garantir escalabilidade e disponibilidade de mensagens. Um outro elemento importante que precisa ser mencionado é um serviço de gerenciamento de recursos e configurações entre os corretores, responsável por fazer a sincronização distribuída, e caso um dos corretores venha a falhar e fique indisponível, outro corretor assume a responsabilidade pois ele estará devidamente atualizado.
Os miniclusters/servidores de armazenamento internos e serviço de gerenciamento de recursos e configurações entre os corretores são conhecidos, respectivamente, como: 
No contexto da Arquitetura de Aplicações, a sigla API representa a Interface de Programação de Aplicações - um conjunto de regras e definições que permite que softwares diferentes se comuniquem. Existem vários tipos de arquitetura de API, que nada mais são do que diferentes abordagens, sendo que a escolha de qual será aplicada depende das necessidades específicas de cada sistema, bem como das dos desenvolvedores envolvidos. Enquanto um dos tipos corresponde a uma estrutura de procedimento remoto que oferece independência de linguagem, sendo comumente utilizado em sistemas distribuídos como os de microsserviços, outro refere-se a uma maneira de os sistemas se comunicarem de forma assíncrona, em que um informa a outro sobre eventos ocorridos em tempo real, sendo comumente utilizado em entregas de produtos, no qual o cliente é notificado quanto ao recebimento de um item.
Esses dois tipos de arquitetura de API são conhecidos, respectivamente, como:
Tanto o Kubernetes quanto o Docker são tecnologias de container de código aberto. No entanto, eles são fundamentalmente diferentes na forma como funcionam e no papel que desempenham na distribuição de aplicações em containers. Dessa forma, é correto afirmar: 
Em sistemas distribuídos, o middleware atua como uma camada intermediária que abstrai a complexidade da troca de mensagens entre processos, oferecendo transparência e desacoplamento. Uma categoria importante são os message brokers, que permitem a comunicação entre produtores e consumidores de mensagens, sem necessidade de conexão direta entre eles.
Protocolos de mensageria, como MQTT, e ferramentas, como RabbitMQ, exemplificam esse modelo. O MQTT, por exemplo, é amplamente utilizado em cenários de IoT (Internet of Things) devido à sua leveza, baseando-se em tópicos para a publicação e subscrição de mensagens.
Considere o seguinte trecho em Python que utiliza a biblioteca paho-mqtt: 

Imagem associada para resolução da questão

Esse código ilustra um subscriber, que se conecta a um broker MQTT público e processa mensagens publicadas em determinado tópico.
Com base no papel do middleware de comunicação e message brokers em sistemas distribuídos, bem como no código apresentado, analise as afirmações a seguir e assinale a alternativa CORRETA: