Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Spring Cloud

Spring Cloud Gateway & Routing & Load Balancing İşlemleri

Paylaş

Spring Cloud Dersleri‘ne devam ediyorum.

İçindekiler

  • Spring Cloud Gateway API Nedir?
  • Spring Cloud Gateway Uygulaması
  • Routing İşlemleri
  • Örnek Uygulama

Bu yazıda Spring Cloud Api Gateway ve LoadBalancer nedir? Bu konularla ilgili bir uygulama örneği yapacağım.

Spring Cloud Api Gateway içerisinde inceleyeceğimiz konu başlıkları şunlar.

  • Spring Cloud Gateway Nedir?
  • Spring Cloud Gateway Uygulaması
  • Routing Nasıl Yapılır.
  • LoadBalancing İşelmleri

Spring Cloud Gateway API Nedir?

Çok kısa özet geçecek olursam mikroservislerimizin sadce tek bir çıkış/giriş noktası oluşturarak bir ağ geçidi oluşturmamızı ve tüm networkü bu gateway üzerinden yönetebilmemizi sağlamaktadır. Spring Cloud Gateway API’lerimize erişimi yönetebilme, güvenlik ve kolay izleme özelliklerini sağlamaktadır.

Spring Cloud Gateway Uygulaması

Gateway uygulaması için kullanacağımız bağımlıklarımız aşağıdaki gibi olacaktır.

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> </dependencies>
Code language: HTML, XML (xml)

Spring Cloud Gateway için bağımlığımızı ekledik ve Eureka’ya bağlanmak içinde bağımlığımızı eklemiş olduk.

application.properties dosyamıza port ve uygulama adımızı tanımlıyoruz.

spring.application.name=APIGATEWAY server.port=8088

Routing İşlemleri

Api Gateway’e bağlı olacak olan mikroservislerimiz için mikroservis isimleri ile routing yapma işlemi için application.properties dosyasına aşağıdaki konumu yazmamız gerekli.

spring.cloud.gateway.discovery.locator.enabled=true
Code language: JavaScript (javascript)

Api Gateway uygulamamız 8088 portundan çalışmaya başlayacaktır.

Örnek Uygulama

Bir Student uygulaması yapacağız. Bu uygulama basit bir rest api olacak aslında ne olduğu pek önemli değil burada dikkat edeceğimiz nokta nasıl erişebileceğimiz.

@RestController @RequestMapping("/") public class StudentController { @GetMapping public String getHelloWorld(){ return "Merhaba Dünya"; } }
Code language: PHP (php)

Student uygulamamızın application.properties dosyasında yazdığımız aşağıdaki gibi olacaktır.

spring.application.name=StudentApp server.port=8080

Uygulamamız 8080 portundan çalışıyor adı StudentApp ‘dır.

Student uygulamamıza localhost:8080 adresinden çalışıyor ve çıktı aşağıdaki gibi olacaktır.

Merhaba Dünya

Portumuzu değiştirdiğimizi varsayarsak ilgili o portu belirterek erişmemiz gerekmektedir. Spring Cloud Gateway API sayesinde yapılmakta. Bunun nedeni ise Spring Cloud API Gateway uygulamamız üzerinden uygulama adı ile erişebiliyoruz.

Spring Cloud Gateway uygulamamız 8088 portundan çalışıyor ve mikroservisimizin adıda StudentApp yani yeni erişim yolumuz aşağıdaki gibi.

localhost:8088/StudentApp

Gateway uygulamamız üzerinden mikroservisimize erişebiliyoruz ve routing işlemini yapabilmekteyiz. Aynı mikroservisimizin bir çok instancesi olsa bile bizim bilmemiz gereken uygulama adı ve gateway portu yeterli olmaktadır ve oldukça kolay. Bu sayedede Load Balancing işlemini de Spring Cloud Gateway API yönetmektedir.

Sonraki Spring Cloud Dersleri’nde görüşmek üzere.


Önceki Ders: Spring Cloud Eureka Discovery Server’a Register Olmak? Uygulama Örneği?
Spring Cloud Dersleri
Sonraki Ders: Command Query Responsibility Segregation (CQRS) Nedir?

Tags:

spring cloud derslerispring cloud gatewayspring cloud load balancingspring cloud routingSpring Cloud Uygulama Örnekleri

Paylaş

Diğer Yazılar

Spring Cloud Dersleri
Previous

Spring Cloud Eureka Discovery Server’a Register Olmak

Command Query Responsibility Segregation (CQRS) Nedir?
Next

Command Query Responsibility Segregation (CQRS) Nedir?

Next
Command Query Responsibility Segregation (CQRS) Nedir?
30 Ağustos 2022

Command Query Responsibility Segregation (CQRS) Nedir?

Previews
01 Ağustos 2022

Spring Cloud Eureka Discovery Server’a Register Olmak

Spring Cloud Dersleri

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Spring Cloud Aws SQS Uygulama Örneği

Spring Boot Cloud AWS SQS Kullanımı

Spring Cloud Config Server Nedir Uygulama Örneği Dersler

Spring Cloud Config Server Nedir? Uygulama Örneği

Axon Server Nedir Axon Framework Kurlumu

Axon Framework Nedir ve Kurulumu

Spring Cloud Dersleri

Spring Cloud Eureka Discovery Server’a Register Olmak

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale