7.1. Gateway#
Tüm istemciler için tek bir hizmet ucu sağlayan uygulamadır. Erişim sağlanacak uygulama bilgilerini registry server üzerinden alarak isteklerin ilgili uygulamaya yönlendirilmesini sağlar. Uygulama parametreleri config server üzerinde özelleştirilebilir.
Yetenekler#
- Yönlendirme (Routing): Spring Gateway, gelen istekleri belirli hedef servislere yönlendirmenizi sağlar. Bu, bir URL'den gelen isteği bir veya daha fazla hedef servise iletebilmeniz anlamına gelir. Yönlendirme kuralları esnek bir şekilde yapılandırılabilir. Güvenlik sağlanabilir.
- Filtreler (Filters): Gateway üzerinden geçen istekleri ve yanıtları işlemek için filtreler kullanabilirsiniz. Özelleştirilmiş filtreler ekleyebilir ve isteği modifiye edebilirsiniz. Örneğin, istekleri kimlik doğrulamak veya güvenlik kontrolleri yapmak için filtreler ekleyebilirsiniz.
- Yeniden Deneme (Retry): İsteklerin otomatik olarak yeniden denemesini sağlayabilirsiniz. Özellikle hedef servislerdeki geçici hataları ele almak için faydalıdır.
- Yük Dengeleme (Load Balancing): Birden fazla aynı hedefe sahip olduğunuzda, Spring Gateway otomatik olarak yük dengelemesi yapabilir. Bu, hedef servislere gelen isteklerin dağıtılmasını sağlar.
- Hedefe Göre Yönlendirme (Routing by Predicate): İstekleri belirli ölçütler veya özellikler (örneğin, isteğin URI'si) temelinde yönlendirebilirsiniz. Bu, dinamik yönlendirme senaryoları için kullanışlıdır.
- Dinamik Konfigürasyon (Dynamic Configuration): Spring Gateway, çalışma zamanında dinamik olarak yeniden yapılandırılabilir. Bu, yeni yönlendirme kuralları eklemek veya mevcutları güncellemek için gereklidir.
- Özelleştirilebilirlik (Customization): Spring Gateway, özelleştirilmesi kolaydır. Özelleştirilmiş filtreler, yönlendirme kuralları ve iş mantığı ekleyebilirsiniz.
- Hız ve Ölçeklenebilirlik (Performance and Scalability): Spring Gateway, yüksek performanslı ve ölçeklenebilir bir şekilde tasarlanmıştır, bu nedenle büyük mikro hizmet uygulamalarını destekler.