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:
<dependencies>
<dependency>
<groupId>com.hazelcast</groupId> <artifactId>hazelcast</artifactId>
<version>5.3.6</version> <!-- Güncel versiyonu kontrol et --> </dependency>
</dependencies>
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.

Bir yanıt yazın