ADPDPJ Flashcards
Flashcards sobre Arquitetura de Desenvolvimento da Plataforma Digital do Poder Judiciário - PDPJ-Br (31 cards)
O que é mensageria?
É uma abordagem de desenvolvimento usando mensagem para estabelecer comunicação / integração síncrona ou assíncrona entre aplicações, usando um Message Broker ou um MOM para tal.
#Mensageria
O que são Message Broker ou um MOM?
Message Broker ou MOM (Message Oriented Middleware) nada mais é que um servidor (infraestrutura) idealizado únicamente para processar e suportar o envio/recebimento, redirecionamento e também a monitoria das mensagens compartilhadas entre os sistemas integrados por mensagem.
#Mensageria
Quais são os principais protocolos utilizados na mensageria?
JMS, AMQP, MQTT, STOMP, MSMQ
#Mensageria
O que é JMS?
O Java Message Service (JMS) Como o próprio nome diz, é um protocolo para mensageria voltado para integrações entre serviços ou componentes desenvolvidos em Java. Muito usado também em Application Servers onde aplicações corporativas desenvolvidas em Java são implantadas.
#Mensageria #JMS
O que é AMQP?
O Advanced Message Queuing Protocol (AMQP) é um protocolo de mensageria mais atual e indiferente da linguagem de programação usada no desenvolvimento de aplicações. Se a sua linguagem favorita para desenvolvimento tem suporte a esse protocolo, suas aplicações conseguem se comunicar através de um Broker que usa o mesmo protocolo.
#Mensageria #AMQP
O que é MQTT?
O Message Queue Telemetry Transport (MQTT) é um protocolo de mensageria muito utilizado para comunicação de dispositivos inteligentes (IoT). Com esse protocolo, fica mais fácil a implementação de objetos se comunicarem em rede e enviarem mensagens, seja entre objetos ou mesmo para outros sistemas que precisam de notificações desses dispositivos.
#Mensageria #MQTT
O que é STOMP?
O Simple/Streaming Text Oriented Messaging Protocol (STOMP) é um protocolo de mensageria mais voltado para Streaming de dados, onde os mesmos são serializados e quando a informação precisa ser entregue praticamente em tempo real para os consumidores.
#Mensageria #STOMP
O que é MSMQ?
O Microsoft Message Queuing (MSMQ) é um protocolo de mensageria, como o nome diz, é uma implementação Microsoft, bastante usado em aplicações desenvolvidas em linguagem proprietária da empresa, teve seu ápice de uso em versões NT do Windows, além da versão 2016 Server e com suporte no Windows 10. Uso muito específico da plataforma Microsoft.
#Mensageria #MSMQ
Quais são os principais Brokers do mercado?
RabbitMQ, Apache Kafka, ActiveMQ, Amazon SQS, Microsoft Azure Service BUS, Redis, IBM MQ Series, NATS.
#Mensageria #Brokers
Quais são os modelos usados em mensageria?
point-to-point, publish/subscribe, Dead Letter Queue, Event Source
#Mensageria
Como funciona o modelo de Fila (Point-to-Point) em mensageria?
No modelo de fila, uma mensagem é enviada para uma fila e pode ser consumida por apenas um consumidor. Uma vez que a mensagem é retirada da fila, ela não está mais disponível para outros consumidores.
#Mensageria
Como funciona o modelo de Publicação/Assinatura (Publish/Subscribe) em mensageria?
No modelo pub/sub, a mensagem é enviada para um tópico e todos os consumidores que se inscreveram no tópico recebem a mensagem. Isso permite que múltiplos consumidores recebam as mesmas mensagens simultaneamente.
#Mensageria
Como funciona o modelo de Dead Letter Queue em mensageria?
Nesse modelo, quando não é possível entregar uma mensagem, é uma opção ter uma “fila” onde podemos enfileirar esses itens para que alguém tome uma ação, visto que a mesma não foi consumida e nem entregue a ninguém.
#Mensageria
Como funciona o modelo de Event Sourcing em mensageria?
O Event Sourcing usa mensageria, para que um evento propague dados e seja possível compartilhar informações entre mais de um microserviço, sem perder a consistência. Também muito atrelado ao padrão CQRS, ajuda ainda mais no baixo acoplamento de sistemas e microserviços.
#Mensageria
O que é um callback?
Um callback é uma função passada como argumento para outra função, que será executada posteriormente, geralmente após a conclusão de uma tarefa ou evento.
#Programação #Callback
O que são webhooks?
Um webhook é um mecanismo que permite que um sistema envie dados automaticamente para outro sistema quando um evento específico ocorre. É frequentemente usado para integrações entre aplicações.
#Webhooks
Quais são os principais componentes de um webhook?
- Origem (Source): O sistema que dispara o evento.
- Destino (Endpoint): URL que recebe as informações.
- Payload: Dados enviados no corpo da requisição.
- Evento: Ação que dispara o webhook (ex.: nova compra, novo comentário).
#Webhooks
Quais métodos HTTP são usados em webhooks?
Os webhooks geralmente usam os métodos:
- POST: Para enviar dados estruturados (como JSON) no corpo da requisição.
- GET (menos comum): Para notificações simples sem payload.
#Webhooks
Como proteger um webhook?
- Assinaturas e Tokens: Exigir uma chave secreta no cabeçalho ou no payload.
- HTTPS: Garantir que os dados sejam transmitidos por conexões seguras.
- Validação de IP: Permitir requisições apenas de IPs confiáveis.
- Limitação de Taxa: Prevenir abuso ou ataques DDoS.
#Webhooks
O que fazer se um webhook falhar?
- Repetir Tentativas (Retries): Configurar o sistema para reprocessar automaticamente.
- Logs: Armazenar informações detalhadas sobre falhas para análise posterior.
- Fallback: Implementar mecanismos alternativos, como filas de mensagens.
#Webhooks
Como testar um webhook?
- Use ferramentas como ngrok para criar endpoints temporários.
- Utilize serviços de webhook testing (ex.: Webhook.site).
- Simule eventos no sistema de origem e analise os dados recebidos.
#Webhooks
Qual a diferença entre webhooks públicos e privados?
Webhooks públicos são endpoints acessíveis por qualquer pessoa com a URL correspondente, já webhooks privados são endpoints protegidos por medidas adicionais, como autenticação, restrições de IP ou uso de redes internas (VPNs).
#Webhooks
O que são eventos negociais?
Eventos negociais são mensagens que podem ser relevantes para outros sistemas, e que são comunicadas de forma assíncrona por meio de chamadas de webhook
#Webhooks #EventoNegocial
O que é RabbitMQ?
RabbitMQ é um sistema de mensageria baseado em AMQP (Advanced Message Queuing Protocol). Ele permite que diferentes aplicações se comuniquem enviando e recebendo mensagens de forma assíncrona.
#RabbitMQ