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

Type and hit Enter to search

  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / 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

Toggle
  • 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=trueCode 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 yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Spring Cloud Bus ile Runtime Konfigürasyon Yönetimi

Spring Cloud Bus ile Runtime Konfigürasyon Yönetimi

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

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

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

Link

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

Kategori

Cloud
Node.js
Java 24
Android
Struts
Röportaj
Gradle
Amazon Web Services
Vue.js
Video
Redis
Spring Boot 3.0
Debezium
Mikroservis Mimarisi
Spring Native
Spring Cloud Stream
Etkinlikler
XCode
JPA
Objective C
iPhone Uygulama Geliştirme
PostgreSQL
Spring Security
MongoDB
Java 21
Spring Data
Apache Kafka
Yaptığım Projeler
Servlet
Git
Maven
Design Patterns
DevOps
Linux
Spring Jdbc Template
RabbitMQ
JDBC
PrimeFaces
Manset
Google
Spring
Spring MVC
Spring Cloud
OCA Java SE 8
Quarkus
Spring Core
Microsoft
Veritabanı
Java SE
Tanıyalım
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
  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale