Çok Düğümlü Kümeleme (TsgcWSCluster) — sgcWebSockets | eSeGeCe

Çok Düğümlü Kümeleme

TsgcWSCluster — sgcWebSockets sunucularınızı birden çok düğüm genelinde ölçeklendirin. Herhangi bir düğümdeki bir yayımlama veya Presence olayı, sıfır altyapılı bir mesh arka düzlemi veya bir Redis Pub/Sub arka düzlemi aracılığıyla diğer her düğüme bağlı abonelere ulaşır. Mevcut Publish, kanal ve Presence kodunuz değişmeden kalır.

TsgcWSCluster

İki veya daha fazla WebSocket sunucusunu bir yük dengeleyicinin arkasına koyun; bir düğümde yayımlanan bir mesaj yine de diğerlerine bağlı abonelere ulaşır. Bileşeni sunucunuzun yanına bırakın, düğümleri birbirine yönlendirin; kanallar, yayınlar ve Presence küme genelinde çalışır.

Bileşen sınıfı

TsgcWSCluster

Arka düzlem

Mesh (sıfır altyapı) veya Redis Pub/Sub

Platformlar

Delphi 7–13 (Win32/Win64, Linux64, macOS, Android, iOS) ve .NET

Sürüm

Enterprise

Bileşeni bırakın, düğümleri birbirine yönlendirin, başlayın

sgc protokolünü kümeye ekleyin ve başlatın. Bir düğümdeki bir istemci bir kanala Publish yapabilir ve diğer düğümlerdeki istemciler bunu, yapışkan oturumlar olmadan alır.

uses
  sgcWebSocket, sgcWebSocket_Protocols, sgcWebSocket_Cluster;

var
  Server: TsgcWebSocketServer;
  Protocol: TsgcWSPServer_sgc;
  Cluster: TsgcWSCluster;
begin
  Server := TsgcWebSocketServer.Create(nil);
  Server.Port := 8080;

  Protocol := TsgcWSPServer_sgc.Create(nil);
  Protocol.Server := Server;

  Cluster := TsgcWSCluster.Create(nil);
  Cluster.EngineType  := clusterMesh;                // sıfır altyapılı arka düzlem
  Cluster.ClusterPort := 5410;                       // bu düğümün mesh dinleyicisi
  Cluster.Peers.Add('192.168.1.101:5410');          // diğer düğümler
  Cluster.Peers.Add('192.168.1.102:5410');
  Cluster.Attach(Protocol);                          // bu protokolün pub/sub'ını kümeleyin
  Cluster.Start;

  Server.Active := True;
end;
var server = new TsgcWSServer { Port = 8080 };
var protocol = new TsgcWSPServer_sgc { Server = server };

var cluster = new TsgcWSCluster {
    EngineType  = ClusterEngineType.Mesh,   // sıfır altyapılı arka düzlem
    ClusterPort = 5414,
    Protocol    = protocol
};
cluster.Peers.Add("192.168.1.101:5414");
cluster.Peers.Add("192.168.1.102:5414");
cluster.Start();

server.Active = true;

İçinde neler var

İki arka düzlem motoru, doğrudan kullanılabilen Attach ve küme genelinde Presence — bileşen referansından alınmıştır.

Arka düzlem motorları

Yayımlanmış özellik EngineType: clusterMesh (harici altyapı yok) veya clusterRedis (Redis Pub/Sub).

Mesh

Özellikler: ClusterPort, Peers. Her düğüm dinler ve doğrudan eşlerine bağlanır — kurulacak ekstra bir şey yok.

Redis

Daha büyük dağıtımlar için özellikler: RedisHost, RedisPort, RedisChannel.

Attach

Metotlar: Attach, Detach, Start, Stop. sgc protokolünü ve Presence'ı her biri tek bir çağrıyla kümeleyin.

Küme genelinde Presence

Üye listesi tüm düğümler genelinde birleşim haline gelir; düşen bir düğümün üyeleri temizlenir, böylece hayalet üye olmaz.

Sağlık

Ready, ConnectedPeerCount özellikleri ve OnPeerConnected, OnPeerDisconnected, OnClusterMessage olayları.

Spesifikasyonlar ve referanslar

Bu bileşenin üzerine kurulu olduğu arka düzlem için yetkili kaynaklar.

Belgeler ve Demolar

Bileşen referansına doğrudan bağlanın, çalışmaya hazır demo projesini alın ve denemeyi indirin.

Demo Projesi — 02.WebSocket_Protocols\14.MultiNode_Clustering Çalışmaya hazır iki düğümlü örnek. sgcWebSockets paketinin içinde gelir — aşağıdan denemeyi indirin.
Teknik Belge (PDF) Özellikler, hızlı başlangıç, Delphi ve C++ Builder için kod örnekleri ve birincil kaynak referansları. Yalnızca bu bileşen.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

WebSocket Sunucularınızı Düğümler Genelinde Ölçeklendirin

Ücretsiz denemeyi indirin ve sgcWebSockets dağıtımınızı bir mesh veya Redis arka düzlemiyle kümeleyin.