Skip to content

🔐 Learn Microservice Architecture: A project showcasing security in microservices, including secure communication, authentication, and authorization.

Notifications You must be signed in to change notification settings

furkancan07/spring-boot-microservices

Repository files navigation

Spring Boot Mikroservislerde Security

Bu projeyi mikroservisleri öğrenmek amacıyla geliştirdim. Güvenlik işlemlerini merkezi hale getirmek için tüm güvenlik yönetimini sadece gateway-server üzerinden gerçekleştirdim ve bu güvenliği Spring WebFlux kullanarak sağladım. Diğer servisler, dış dünyaya kapalı olarak tasarlandı ve yalnızca gateway-server aracılığıyla erişilebilir hale getirildi. Ayrıca, bazı servisler arasında iletişim sağlamak için Apache Kafka'yı kullandım. Bu yaklaşım, güvenlik duvarı işlevini gören bir API geçidi kullanarak mikroservislerin her birinin ayrı ayrı güvenlik yapılandırmalarını yapma ihtiyacını ortadan kaldırdı ve sistemin genel güvenliğini artırdı. Kafka'nın kullanımı ise servisler arasındaki veri akışını daha verimli ve güvenilir bir şekilde yönetmeme olanak tanıdı. Projeyi gelecekte daha da geliştirmeyi ve ek özellikler eklemeyi planlıyorum

Teknolojiler

Bu projede kullanılan ana teknolojiler ve araçlar şunlardır:

  • Docker: Kafkayı kurmak için kullandım

  • Apache Kafka: Servisler arasında asenkron veri iletimi ve mesajlaşma için kullanılan dağıtık bir yayın-abone sistemidir.

  • Spring Boot: Java tabanlı mikroservislerin geliştirilmesi için kullanılan framework.

  • Zookeeper: Dağıtık sistemlerin koordinasyonu ve konfigürasyon yönetimi için kullanılan servis.

  • Spring Security: Güvenlik yapılandırması ve yönetimi için kullanılan kapsamlı bir güvenlik framework’ü.

  • Gateway Microservice: API geçidi olarak görev yapan ve tüm servislerin güvenliğini sağlayan mikroservis.

  • Spring WebFlux: Reaktif programlama modeline dayanan ve asenkron veri akışlarını işlemek için kullanılan bir framework.

  • Eureka Discovery Service: Servis keşfi ve kayıt yönetimi için kullanılan bir Netflix OSS projesidir.

  • Feign Client: HTTP istemcisi olarak kullanılan ve mikroservisler arası iletişimi kolaylaştıran bir kütüphane.

  • Kafka UI: Kafka cluster'larını izlemek ve yönetmek için kullanılan kullanıcı arayüzü.

  • Unit Test: Yazılımın küçük birimlerini (fonksiyon veya metot) izole ederek test eden ve doğru çalışıp çalışmadığını kontrol eden otomatik testlerdir.

Servisler ve Kullanılan Teknolojiler

App Screenshot

🔗 Links

portfolio linkedin

About

🔐 Learn Microservice Architecture: A project showcasing security in microservices, including secure communication, authentication, and authorization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages