9 Aralık 2022 Cuma

hazelcast.xml - Wan Replication Ayarları

Wan Replication Nedir
Açıklaması şöyle
Wan sürekli devam eder. Kaynak değiştikçe bu değişiklikler hedefe de uygulanır
Disaster Recovery için kullanılabilir. 
Active-Active
Active-Passive olabilir

Hedef Nasıl Tanımlanır
batch-publisher altında IP adresi ve port tanımlanır.  Açıklaması şöyle
The receiving member on the target cluster will distribute the received entries to the partition owners. 
Hangi Veri Yapılarını Destekler
WAN replication tüm veri yapıları için çalışmıyor! Sadece  IMap ve ICache için çalışıyor. Bu veri yapıları üzerinde değişiklik yapan işlemler (set, remove gibi) karşıya kopyalanıyor.

- WanEvents nesneleri publisher kuyruklara ekleniyor. (ADD_OR_UPDATE, REMOVE)
- WanBatchPublisher bu kuyrukları okuyor
- Publisher karşıya gönderince ACK bekliyor. ACK_ON_RECEIPT, ACK_ON_OPERATION_TO_COMPLETE
- WanConnectionManager hedef adresleri saklar
- SerialBatchReplicationStrategy sanırım tüm event'leri sıra ile işliyor

Endpoint Discovery
Static veya Discovery Service kullanılabilir

Batch Paketleri
Key based coalescing kullanılabilir
Batch sending frequency (max size & delay)

Consistency Checking
REST API veya MC ile synchronization tetiklenebilir. Full Sync veya Delta Synch kullanılabilir.
Full Sync tehlikeli çünkü çok fazla veriyi taşımak gerekebilir
Delta Synch altta Merkle Tree kullanır ve bu özelliğin açık olması gerekir.

Conflict
Merge Policy gerekir. Data structure ayarlarında yapılır.
Value-based policy : PutIfAbsent, Passthrough
Metadata-based policy : HigherHits, ExpirationTime, LatestAccess, LatestUpdate
Custom merge policy 


Örnek
Şöyle yaparız. Burada IMap veya ICache wan-replication-ref ile wan-replication ayarlarına isim ile atıfta bulunuyor
<! -- Tokyo -->
<hazelcast>
 <cluster-name>tokyo</cluster-name>
 <wan-replication name="london-wan-rep">
   <batch-publisher>
     <publisher-id>londonPublisherId</publisher-id>
     <cluster-name>london</cluster-name> <! -- Target cluster name -->
     <target-endpoints>10.3.5.1:5701</target-endpoints>
   </batch-publisher>
  </wan-replication>

  <map name="replicatedMap">
    <wan-replication-ref name="london-wan-rep"/>
  </map>

</hazelcast>

<! -- London -->
<hazelcast>
  <cluster-name>london</cluster-name>
  <wan-replication name="tokyo-wan-rep">
    <batch-publisher>
      <publisher-id>tokyoPublisherId</publisher-id>
       <cluster-name>tokyo</cluster-name> <! -- Target cluster name -->
       <target-endpoints>32.1.1.1:5701</target-endpoints>
     </batch-publisher>
  </wan-replication>

  <map name="replicatedMap">
    <wan-replication-ref name="tokyo-wan-rep"/>
  </map>

</hazelcast>


Hiç yorum yok:

Yorum Gönder

THIRD-PARTY.txt Dosyası

Kullanılan harici kütüphanelerin sürümleri bu dosyada Dosyanın yolu şöyle hazelcast/licenses/THIRD-PARTY.txt