Hazelcast Nedir? Ne İşe Yarar? Basit Bir Hazelcast Node’u Nasıl Oluşturulur?

Yazılım dünyasında, uygulamaların hızlı ve ölçeklenebilir olması artık neredeyse bir zorunluluk. Özellikle çok kullanıcılı sistemlerde, veriye erişim hızı ve senkronizasyon önemli bir konu. İşte tam bu noktada Hazelcast devreye giriyor.

Hazelcast Nedir?

Hazelcast, Java tabanlı, açık kaynak kodlu bir In-Memory Data Grid (IMDG) sistemidir. Türkçesiyle “bellek içi veri ızgarası” olarak çevrilebilir. Temel olarak, dağıtık yapıda çalışan birden fazla uygulamanın ortak belleği gibi davranıyor. Yani verileri, klasik veritabanlarına göre çok daha hızlı bir şekilde erişilebilir hale getirir.

Kısaca:

  • Veriyi bellekte (RAM) saklar, diske yazmadan işlem yapar.
  • Node (makine) sayısı arttıkça performans da artar.
  • Dağıtık (distributed) mimariye uygundur.
  • Hem cache, hem de veri paylaşımı amacıyla kullanılır.

Ne İşe Yarar?

Hazelcast’in en sık kullanıldığı yerler:

  • Veri önbellekleme (caching): Örneğin, bir API her kullanıcı isteğinde aynı veriyi çekiyorsa, bu veriyi belleğe alıp tekrar tekrar veritabanına gitmek yerine Hazelcast üzerinden sunabilirsiniz.
  • Dağıtık uygulamalarda veri paylaşımı: Mikroservis yapısında çalışan birden fazla servis, aynı oturum bilgisine ihtiyaç duyabilir. Hazelcast burada merkezi bir hafıza gibi devreye girer.
  • İş yükü dağılımı (clustering): Farklı makineler arasında işlem ve veri paylaşımı sağlanarak yük dengelenebilir.

Hazelcast ile Basit Bir Node (Makine) Oluşturmak

Hazelcast’i ayağa kaldırmak için bir Hazelcast Node’u oluşturacağız. Maven projelerinde uyumlu çalışmakta Hazelcast. Eğer Maven kullanıyorsan, pom.xml dosyana Hazelcast kütüphanesini eklemen yeterli:

Javada Hazelcast Node Başlatma

// Hazelcast kütüphane importu 
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.map.IMap;


public class HazelcastOrnek {
public static void main(String[] args) {

// 1. Hazelcast node'u başlat
    HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();

    // 2. Bellek içi bir map oluştur
    IMap<String, String> map = hazelcastInstance.getMap("kullanicilar");

    // 3. Map'e veri ekle
    map.put("1", "Miraç");
    map.put("2", "Ahmet");

    // 4. Veri oku
    String ad = map.get("1");
    System.out.println("1 numaralı kullanıcı: " + ad);

    // Program sonlanmasın diye bekletiyoruz
    System.out.println("Hazelcast node çalışıyor...");
}

}

kod çalıştığında node başlatılır ve dinlenir. KUllanıcılar adında Map oluşturup iiçine veri eklenir. Eğer bu kodu başka makinelerde de çalıştırırsanız, otomatik olarak birbirlerini bulup cluster (küme) oluştururlar.

Hazelcast içerisinde Queue Map List Set gibi yapılarda dağıtık bir halde çalışabilir ve farklı birden fazla instance arasında paylaşımlı olarak kullanılabilir.

Comments

Bir yanıt yazın

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