GiselleBarbosa /
java-microservice-rabbitMQ
Microserviço de cadastro de usuários e envio de emails.
47/100 healthLoading repository data…
JovanneSousa / repository
Microserviço de envio de e-mails com Java e Spring Boot, integrado ao RabbitMQ para processamento assíncrono.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
O Email Service é um microsserviço desenvolvido em Java 25 com Spring Boot 4, especializado no processamento e disparo assíncrono de e-mails. Ele atua como um worker de alta performance que consome eventos do RabbitMQ, garantindo a entrega de comunicações críticas como recuperação de senha, boas-vindas e notificações do sistema.
Este serviço é o braço de comunicação externa do ecossistema, integrando-se nativamente com a Auth.Api e outros serviços via mensageria:
x-retry-count).O serviço adota uma estrutura modular focada em escalabilidade:
EmailConsumer gerencia a escuta das filas e o ciclo de vida da mensagem (Ack/Nack/Reject).ResendService ou EmailService), renderização de templates e persistência de logs.EmailLog e modelos de evento.sequenceDiagram
participant Auth as Auth.Api (.NET)
participant Rabbit as RabbitMQ (app.exchange)
participant Worker as Email Service (Java)
participant DB as PostgreSQL
participant Provider as Resend / SMTP
Auth->>Rabbit: Publish: EmailIntegrationEvent
Rabbit->>Worker: Consume (Manual Ack)
Worker->>DB: Log Status: PROCESSING
alt Sucesso
Worker->>Provider: Envia E-mail
Worker->>DB: Update Status: SENT
Worker->>Rabbit: basicAck
else Erro (Retry < 3)
Worker->>DB: Log Erro + Increment Retry
Worker->>Rabbit: basicNack (Requeue: false)
else Falha Crítica (Retry >= 3)
Worker->>DB: Update Status: FAILED
Worker->>Rabbit: basicReject (DLQ)
end
O EmailConsumer está configurado para desserializar o seguinte contrato:
{
"type": "RESET_PASSWORD",
"to": "usuario@exemplo.com",
"subject": "Redefinição de Senha",
"body": "Seu link de acesso é...",
"metadata": {
"userId": "123",
"userName": "Jovane"
}
}
As configurações sensíveis são gerenciadas via variáveis de ambiente (conforme .env local):
# RabbitMQ
rabbit.email-queue=email-service.queue
spring.rabbitmq.host=localhost
# Email (Resend)
resend.api-key=re_123456789
# Database
spring.datasource.url=jdbc:postgresql://localhost:5432/EmailDb
Pré-requisitos:
Instalação:
mvn clean install
Execução:
mvn spring-boot:run
Desenvolvido para fins de estudo e portfólio por Jovane Sousa.
Selected from shared topics, language and repository description—not editorial ratings.
GiselleBarbosa /
Microserviço de cadastro de usuários e envio de emails.
47/100 healthkaique64 /
Microserviço para envio de e-mail feito em Java com Spring Boot
27/100 healthVitorFidelis /
Arquitetura de microserviços: CRUD de Tasks e Users + envio de notificações por e-mail.
/100 healthpaulowelton /
microserviço para envio de emails utilizando java com o framework spring boot e banco de dados mysql.
34/100 healthCesarAVB /
Microserviço Spring Boot para envio de emails via SMTP. Tecnologias: Java 21, PostgreSQL, RabbitMQ, Flyway, Swagger/OpenAPI, LOG4J2, Lombok e Maven.
46/100 healthDanVeronez /
API RestFull (CRUD) ultiliando JAVA e Spring Boot, trabalhando Postges, DTO, deploy na clound(heroku), realizando TDD, ultilizando JWT e envio de emails, para microserviços.
27/100 health