🎯 SpringBoot-Redis-Artemis-Smtp ?

📌 The goal of the project ?

  • Twitter uygulamasının mantığını kullanarak örnek proje yapmak istedim.
  • Twitter'da bir gündem oluşuyor ve bu saatler içinde mesajlara boğuluyor.
  • İşte bende tam bu noktada gelen tweet'leri bir kuyruk kullanarak bir service gönderiyorum.
  • Bu service, redis'i kullanarak kuyruktan gelen mesajları önbelleğe alıyor.
  • Redis'i kullanma amacım, hızlı bir şekilde tüm mesajları çekmek.
  • Gelen mesajlar ilk başta postgresql db'sine kayıt oluyor. Sonra redis'e gidiyor.
  • Birde mail servisim var. Bu servis 3 dk bir toplam gelen mesaj sayısını mail aracılığıyla size ulaştırıyor.

📌 docker-compose.yaml

docker-compose up --build -d
docker-compose down -v

📌 Maven Dependencies

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-artemis</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

🎯 Api Package ?

  • Postgresql DB :

🎯 Redis Package ?

🎯 Mail Package ?