RabbitMQ é um message broker escrito em Java que
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Resposta Correta: C - O RabbitMQ suporta autenticação e autorização conectáveis, suporta LDAP e TLS e pode ser implantado em nuvens públicas e privadas.
Para responder adequadamente a esta questão, é importante ter um conhecimento sobre o RabbitMQ e suas funcionalidades. O RabbitMQ é um message broker amplamente utilizado que permite a aplicativos se comunicarem entre si de forma assíncrona, utilizando mensagens. Ele foi originalmente desenvolvido em Erlang e não Java, mas é compatível com várias linguagens e plataformas, incluindo Java, devido à ampla gama de clientes de API disponíveis.
A autenticação e autorização conectáveis referem-se à capacidade do RabbitMQ de utilizar diferentes mecanismos para controlar o acesso aos recursos do broker. Por exemplo, ele pode utilizar LDAP (Lightweight Directory Access Protocol) para autenticação, permitindo que ele se integre com diretórios existentes de usuários. O suporte ao TLS (Transport Layer Security) significa que as comunicações podem ser criptografadas, garantindo a segurança dos dados trocados entre os clientes e o broker.
A questão também menciona a possibilidade de implantação em nuvens públicas e privadas, o que destaca a flexibilidade do RabbitMQ em termos de ambientes de hospedagem. Ele pode ser executado em uma infraestrutura de nuvem, aproveitando os benefícios da escalabilidade e disponibilidade que esses ambientes oferecem.
É importante ressaltar que as demais alternativas contêm informações incorretas sobre o RabbitMQ:
- A alternativa A está incorreta porque o RabbitMQ não suporta apenas o protocolo AMQP; ele também suporta outros protocolos como MQTT e STOMP.
- A alternativa B sugere que não há escolha de mecanismos de persistência, o que é incorreto, pois o RabbitMQ permite a configuração de diferentes tipos de armazenamento para mensagens.
- A alternativa D está incorreta ao afirmar que o RabbitMQ não pode ser federado. Na realidade, o RabbitMQ suporta a federação, permitindo a comunicação entre múltiplos brokers distribuídos geograficamente.
- Por fim, a alternativa E é incorreta porque o RabbitMQ fornece APIs de cliente para várias outras plataformas além de Java, como .NET, Ruby, PHP, Python, entre outras.
Portanto, a alternativa C é a correta, pois descreve com precisão algumas das capacidades de segurança e de implantação do RabbitMQ.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Complementando sobre a letra A:
RabbitMQ Foi originalmente desenvovido para o protocolo AMQP 0-9-1 and extensions. Porém, Suporta vários protocolos, diretamente ou através de plugins. Ex.: STOMP, MQTT, HTTP and WebSockets, RabbitMQ Streams
https://www.rabbitmq.com/protocols.html
Site oficial:
https://www.rabbitmq.com/
GAB C)
Vejamos alguns pequenas considerações. Erros em vermelho. Considerações em azul
A) suporta apenas o protocolo de mensagens AMQP para atender aos requisitos de alta disponibilidade e escalabilidade.
Suporta STOMP e MQTT
B) não permite escolher um mecanismo de persistência, mas oferece opções para personalizar a segurança para autenticação e autorização.
Permite escolha sim
C) suporta autenticação e autorização conectáveis, suporta LDAP e TLS e pode ser implantado em nuvens públicas e privadas.
D) pode ser implantado como clusters para alta disponibilidade e alta taxa de transferência, mas não pode ser federado em várias zonas e regiões de disponibilidade.
Pode ser federado sim em nuvens públicas e privadas, por exemplo.
E) fornece APIs de cliente somente para a plataforma Java e frameworks relacionados.
Também fornece APIs de cliente para várias plataformas, não apenas para Java.
go@head2!
O RabbitMQ é um software de middleware de mensagens de código aberto amplamente utilizado para a comunicação assíncrona entre aplicativos e sistemas distribuídos. Ele implementa o protocolo Advanced Message Queuing Protocol (AMQP) e fornece uma maneira eficiente e confiável de transmitir mensagens entre diferentes partes de um sistema, permitindo a comunicação e a coordenação entre aplicativos de forma distribuída.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo