logo

Zuul API Ağ Geçidi

Zuul nedir?

Zuul Sunucusu bir API Ağ Geçidi uygulamasıdır. Tüm istekleri yönetir ve mikro hizmet uygulamalarının dinamik yönlendirmesini gerçekleştirir. Tüm istekler için ön kapı görevi görür. Aynı zamanda şu şekilde de bilinir: Kenar Sunucusu.

Zuul etkinleştirmek için tasarlandı dinamik yönlendirme, izleme, esneklik, Ve güvenlik. Ayrıca istekleri birden fazla kişiye yönlendirebilir. Amazon Otomatik Ölçeklendirme Grupları .

Örneğin, /api/ürünler şuraya haritalanır: ürün hizmet ve /api/kullanıcı şuraya haritalanır: kullanıcı hizmet. Zuul Sunucusu, istekleri dinamik olarak ilgili arka uç uygulamasına yönlendirir.

Neden Zuul kullanıyoruz?

Netflix API trafiğinin hacmi ve çeşitliliği bazen hızlı ve uyarı vermeden ortaya çıkan üretim sorunlarına neden olur. Dolayısıyla bu durumlara tepki verebilmek için davranışları hızla değiştirmemize olanak tanıyan bir sisteme ihtiyacımız var.

Zuul bir dizi farklı türde ürün sunar filtreler bu, işlevselliği uç hizmetimize hızlı ve hızlı bir şekilde uygulamamıza olanak tanır. Filtreler aşağıdaki işlevleri yerine getirir:

    Kimlik Doğrulama ve Güvenlik:Her kaynak için kimlik doğrulama gereksinimleri sağlar.
    Analizler ve İzleme:Bize üretimin doğru bir görünümünü veren anlamlı verileri ve istatistikleri takip eder.
    Dinamik Yönlendirme:İstekleri gerektiği gibi farklı desteklenen kümelere dinamik olarak yönlendirir.Stres testi:Performansı test etmek için bir kümeye giden trafiği artırır.Yük atma:Her istek türü için kapasite tahsis eder ve limiti aşan isteği iptal eder.Statik Yanıt İşleme:Bazı yanıtları dahili bir kümeye iletmek yerine doğrudan uçta oluşturur.Çoklu Bölge Dayanıklılığı:ELB kullanımımızı çeşitlendirmek için istekleri AWS bölgelerine yönlendirir.

Zuul Bileşenleri

Zuul 2.x bileşenleri:

    zuul-çekirdek:Zuul 2.0'ın temel işlevlerini içeren bir kütüphanedir.zuul örneği:Zuul 2.0 için örnek bir sürücü uygulamasıdır

Zuul 1.x bileşenleri:

    zuul-çekirdek:Temel işlevselliği tanımlar.zuul-basit-webapp:Zuul-core ile bir uygulamanın nasıl oluşturulacağına dair basit bir örnek gösteren bir web uygulaması.zuul-netflix:Zuul'a diğer NetflixOSS bileşenlerini ekleyen bir kütüphanedir.zuul-netflix-webapp:Zuul-core ve zuul-netflix'i bir arada paketleyen bir web uygulamasıdır.

Zuul API Ağ Geçidi Sunucusunu Kurma

Var üç Zuul API Ağ Geçidini kurma adımları:

  • Zuul API Ağ Geçidi için bir bileşen oluşturun
  • Zuul API Ağ Geçidinin yapması gerekenlere karar verin
  • Tüm önemli istekler Zuul API Ağ Geçidinden geçecek şekilde yapılandırılmıştır

Zuul API Gateway sunucusunu kurmak için adımları izleyin.

Aşama 1: Açık Bahar Başlatma https://start.spring.io .

Adım 2: Sağlamak Grup isim. Sağladık com.javatpoint.microservices.

Aşama 3: Sağlamak Eser. Sağladık netflix-zuul-api-ağ geçidi-sunucusu.

Adım 4: Aşağıdaki bağımlılıkları ekleyin: Zuul, Eureka Discovery, Aktüatör, Ve Geliştirici Araçları.

Zuul API Ağ Geçidi

Adım 5: Tıkla Oluştur düğme. Projeyi paketlemeye başlar zip dosyayı indirin ve indirin.

Zuul API Ağ Geçidi

Adım 6: Çıkarın zip dosyasını açın ve onu Spring Tool Suite'in çalışma alanına yapıştırın.

Adım 7: İçe Aktarma STS IDE'deki proje.

Dosya -> İçe Aktar -> Mevcut Maven Projeleri -> Gözat -> Seç netflix-zuul-api-ağ geçidi-sunucusu -> Klasör Seç -> Bitir

İthalat biraz zaman alıyor.

Adım 8:NetflixZuulApiGatewayServerApplication.java ek açıklamaları kullanarak zuul proxy'yi ve keşif istemcisini dosyalayın ve etkinleştirin @EnableZuulProxy Ve @EnableDiscoveryClient, sırasıyla .

NetflixZuulApiGatewayServerApplication.java

 package com.javatpoint.microservices.netflixzuulapigatewayserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableZuulProxy @EnableDiscoveryClient @SpringBootApplication public class NetflixZuulApiGatewayServerApplication { public static void main(String[] args) { SpringApplication.run(NetflixZuulApiGatewayServerApplication.class, args); } } 

Adım 9: Açık uygulama.özellikler dosyalayın ve yapılandırın uygulama adı, bağlantı noktası, Ve eureka adlandırma sunucusu .

uygulama.özellikler

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
netflix-zuul-api-gateway-server'ı indirmek için burayı tıklayın