Şuayb'in BloguŞuayb'in Blogu
Ana Sayfa
Kategoriler
Oyunlar
MediumHakkındaİletişim
Dil
Tema
    1. Blog
    2. Programlama
    3. Spring Boot Eureka Server

Spring Boot Eureka Server

İlk yayın23 Şubat 2025
Son güncelleme24 Şubat 2025
Okuma süresi3 dk okuma
JavaKotlinSpring BootSpring CloudEureka ServerMikroservis
XLinkedInFacebook
Spring Boot Eureka Server

Beğeni yükleniyor...

Spring Boot Eureka Server, mikroservis mimarisinde servis kaydı ve keşfi sağlayan bir servis kayıt merkezi olarak çalışır. Mikroservislerin kendilerini otomatik olarak kaydetmelerine ve diğer servisleri dinamik olarak keşfetmelerine olanak tanır. Bu kılavuzda, Spring Boot ile Eureka serverın nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz.


Son güncelleme24 Şubat 2025

Toplam görüntülenmeGörüntülenme yükleniyor...

Önceki makaleSpring Boot Config ServerSonraki makaleSpring Boot Circuit Breaker
Şuayb Şimşek

Yazan

Şuayb Şimşek

Spring Boot, güvenlik, mikroservis ve cloud-native mimari konularında pratik teknik notlar paylaşan backend odaklı fullstack geliştirici.

Uzmanlık

  • Spring Boot
  • Go
  • Mikroservis
  • Next.js
  • Cloud Native

Bağlantılar

GitHubLinkedInMedium

Benzer yazılar

Spring Boot Circuit Breaker
Programlama

Spring Boot Circuit Breaker

Spring Boot uygulamalarında Circuit Breaker kullanımını öğrenerek mikro hizmetlerin dayanıklılığını artırın.

13 Mart 20253 dk okuma
JavaKotlinSpring BootSpring CloudCircuit BreakerMikroservis
Spring Boot Config Server
Programlama

Spring Boot Config Server

Spring Boot Config Server kullanarak merkezi yapılandırma yönetimini nasıl gerçekleştireceğinizi öğrenin.

22 Şubat 20253 dk okuma
JavaKotlinSpring BootSpring CloudConfig ServerMikroservis
Spring Boot Kubernetes Entegrasyonu
Programlama

Spring Boot Kubernetes Entegrasyonu

Spring Boot uygulamalarını Kubernetes üzerinde nasıl ölçeklenebilir ve konteyner tabanlı olarak dağıtabileceğinizi öğrenin.

21 Şubat 20253 dk okuma
JavaKotlinSpring BootKubernetesMikroservisKonteynerizasyon

Hakkımda

Spring Boot, mikroservis, güvenlik ve daha fazlası hakkında yazılar.

İletişimYeni başladıysan

Son yazılar

  • Captain Tsubasa 2: World Fighters
  • Captain Tsubasa: Rise of New Champions
  • Spring Boot Configuration Properties
  • Spring Boot GraphQL JWE Kimlik Doğrulama
  • Spring Boot JPA ile JWE Kimlik Doğrulaması

Popüler konular

JavaKotlinSpring BootGüvenlikJWEJWT

Abone ol

Yeni yazılar yayınlandığında pratik backend ve fullstack notlarını al.

Sosyal

© 2024-2026 Şuayb'in Blogu. Tüm hakları saklıdır.

🌟 Neden Eureka Server Kullanmalıyız?

Bu bölümde Neden Eureka Server Kullanmalıyız? konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.

  • Servis Keşfi: Mikro servislerin otomatik olarak kaydolmasını ve keşfedilmesini sağlar.
  • Yük Dengeleme: Ribbon ile istemci taraflı yük dengeleme sağlar.
  • Hata Toleransı: Bir servis başarısız olursa alternatif örnekleri bulmaya yardımcı olur.
  • Ölçeklenebilirlik: Mikroserivslerin kolayca ölçeklenmesini sağlar.
  • Spring Cloud Entegrasyonu: Spring Boot uygulamalarıyla sorunsuz çalışır.

📋 Gereksinimler

Aşağıdakilerin kurulu olduğundan emin olun:

  • ☕ Java Development Kit (JDK) 17+
  • 📦 Maven veya Gradle yüklü

🛠️ Adım 1: Bağımlılıkları Ekleyin

Bu bölümde Adım 1: Bağımlılıkları Ekleyin konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.

Maven:

XMLpom.xml
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

Gradle:

GROOVYbuild.gradle
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'

🛠️ Adım 2: Eureka Sunucu Uygulamasını Oluşturun


🛠️ Adım 3: Eureka Server'ı Yapılandırma

Bir application.yml dosyası oluşturun ve aşağıdaki yapılandırmayı ekleyin:

YAMLapplication.yml
server:
  port: 8761
spring:
  application:
    name: eureka-server
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
  server:
    wait-time-in-ms-when-sync-empty: 5

Not: Eureka Sunucusu kendisini kaydetmez.


▶️ Eureka Server'ı Çalıştırma

Eureka Server uygulamasını başlatın:

BASH
./mvnw spring-boot:run

veya Gradle kullanarak:

BASH
gradle bootRun

Eureka Server kontrol paneline erişmek için:

BASH
http://localhost:8761/

🛠️ Adım 4: Bir İstemci Uygulamasını Kaydetme

Bu bölümde Adım 4: Bir İstemci Uygulamasını Kaydetme konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.

Bağımlılıkları Ekleyin

Bu bağımlılık, uygulamanın Eureka sunucusuna kayıt olması ve servis keşfi sürecine katılması için gereklidir.

Maven:

XMLpom.xml
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

Gradle:

GROOVYbuild.gradle
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'

İstemci Uygulama Yapılandırması

İstemcinin application.yml dosyasına aşağıdaki yapılandırmayı ekleyin:

YAMLapplication.yml
spring:
  application:
    name: eureka-client
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

İstemci Uygulama Kodu

Aşağıdaki örnek, İstemci Uygulama Kodu için pratik bir bağlam sunar ve doğrudan uygulanabilir.


▶️ İstemci Uygulamayı Çalıştırma

Eureka İstemci uygulamasını başlatın:

BASH
./mvnw spring-boot:run

veya Gradle kullanarak:

BASH
gradle bootRun

Eureka Server'a kayıtlı olup olmadığını kontrol etmek için şu adresi ziyaret edin:

BASH
http://localhost:8761/

🏁 Sonuç

Artık Spring Boot Eureka Server için üretim odaklı bir Spring Boot temeliniz var. Sonraki adımda ayarları kendi domainine uyarlayıp test ve gözlemlenebilirlik katmanını ekleyerek gerçek trafik altında doğrulayın.

JAVAEurekaServerApplication.java
package com.example.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}
KOTLINEurekaServerApplication.kt
package com.example.eurekaserver

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer

@SpringBootApplication
@EnableEurekaServer
class EurekaServerApplication

fun main(args: Array<String>) {
    runApplication<EurekaServerApplication>(*args)
}
JAVAEurekaClientApplication.java
package com.example.eurekaclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
@RequestMapping("/client")
public class EurekaClientApplication {

    @GetMapping
    public String getClientMessage() {
        return "Merhaba, Eureka İstemcisi!";
    }

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }
}
KOTLINEurekaClientApplication.kt
package com.example.eurekaclient

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

@SpringBootApplication
@RestController
@RequestMapping("/client")
class EurekaClientApplication {

    @GetMapping
    fun getClientMessage(): String {
        return "Merhaba, Eureka İstemcisi!"
    }
}

fun main(args: Array<String>) {
    runApplication<EurekaClientApplication>(*args)
}