Ocelot, .NET Core ile uygulanan açık kaynaklı bir API geçididir ve güçlü olup, yönlendirme, istek toplama, hizmet keşfi, kimlik doğrulama, kimlik doğrulama, akım sınırlayıcı devre kesici ve Service Fabric ile Butterfly Tracing ile yerleşik yük dengeleyici entegrasyonunu içerir. Bu fonksiyonların tamamlanması sadece basit olması yeterlidir ve bu fonksiyonların konfigürasyonunu teker teker açıklayacağız.
Tabii ki, Java projelerinde de gateway'ler var, Spring Cloud Gateway, Spring Cloud'un yeni gateway framework'ü, önceden Netflix Zuul'du.
İlk olarak, Core 3.1 ASP.NET boş bir proje oluşturun ve adıyla dotnet-gateway-demo
Nuget, Ocelot'u aşağıdaki komutla kurar:
Web-api-demo1 ve web-api-demo2 adında iki yeni asp.net Core 3.1 API projesi oluşturun. Çözüm yapısı şöyledir:
"web-api-demo1" ve "web-api-demo2" projelerinin WeatherForecastController denetleyicisinin Get yöntemini aşağıdaki kodla değiştirin:
demo1 bağlantısı: http://localhost:7853/weatherforecast Demo2 bağlantısı: http://localhost:7863/weatherforecast
dotnet-gateway-demo projesinin kök dizininde, aşağıdaki gibi yeni bir yapılandırma dosyası "ocelot.json" oluşturun:
BaseUrl adresi mevcut projenin lansman URL'si ile doldurulduğunda,Gerçek durumunuza göre pozisyon doldurun。
- DownstreamPathTemplate: Downstream hizmetinin göreli yolu
- DownstreamScheme: Downstream hizmet http şeması
- DownstreamHostAndPorts: Downstream servisinin adresi, LoadBalancer kullanırsanız burada birden fazla alan doldurabilirsiniz
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Program.cs'nin CreateHostBuilder programına katılın
Startup.cs dosyasını aşağıdaki kodla düzenleyin:
Ana kodları şunlardır:
Bir startup projesi kurup aynı anda 3 web projesini başlatın, aşağıdaki şekilde gösterilmiştir:
Kurulum tamamlandıktan sonra başlatın ve yapılandırma kurallarımıza göre şu adreslere erişmeye çalışın:Bağlantı girişi görünür.veBağlantı girişi görünür.Aşağıda gösterildiği gibi:
ocelot.json dosyasına aşağıdaki yapılandırmayı ekliyoruz, bu siteyi ters proxy etmeye çalışıyoruz, yapılandırma şu şekildedir:
Ziyaret etmeye çalışın:Bağlantı girişi görünür.
Kaynak kodu indirme:
Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfen Yanıt
Referans Dokümantı:Bağlantı girişi görünür.
(Son)
|